Maison > interface Web > Tutoriel H5 > Explication détaillée de l'exemple de code du carnet d'adresses HTML5 pour obtenir des informations sur plusieurs personnes spécifiées

Explication détaillée de l'exemple de code du carnet d'adresses HTML5 pour obtenir des informations sur plusieurs personnes spécifiées

黄舟
Libérer: 2017-03-25 10:36:17
original
2292 Les gens l'ont consulté

Cet article présente principalement l'explication détaillée du carnet d'adresses HTML5 pour obtenir les informations de plusieurs personnes spécifiées. Il est d'une grande valeur pratique et les amis dans le besoin peuvent s'y référer.

Cet article présente le carnet d'adresses HTML5 pour obtenir les informations de plusieurs personnes spécifiées. Les détails sont les suivants :

1. Obtention des informations de plusieurs personnes : Avant d'importer les informations de plusieurs personnes. dans le carnet d'adresses, il est nécessaire de résoudre le problème de l'obtention d'informations sur plusieurs personnes. Informations sur plusieurs individus. J'ai obtenu les identifiants et les noms d'affichage de tous les contacts du carnet d'adresses via l'application de plus.contacts.getAddressBook et address.find, puis je les ai affichés via la page d'acquisition du carnet d'adresses que j'ai écrite.

1. Pour résoudre ce problème, vous devez d'abord rédiger vous-même un carnet d'adresses js, afin de pouvoir séparer les initiales de tous vos contacts, et de pouvoir accéder aux initiales que vous souhaitez à côté d'eux.

2. Résoudre le problème d'obtention de toutes les informations de contact

plus.contacts.getAddressBook(plus.contacts.ADDRESSBOOK_PHONE, function(addressbook) { //获取通讯录信息
                // 可通过addressbook进行通讯录操作
                addressbook.find(null, function(contacts) {
                    var username = new Array();
                    var LinkList = new LinkedList();
                    if(contacts.length > 0) { //获取当前通讯录里面所有人
                        for(var i = 0; i < contacts.length; i  ) {
                            username[i] = contacts[i].displayName   "-"   contacts[i].id; //连接id和username,为后面筛选最准备
                        }
                        //这下面的代码是把所有联系人的信息分类,这就涉及到了自己写的JS页面代码
                        LinkList = sortPY(username); //把联系人数组分类
                        //LinkList.show();
                        createLiCheckBox(LinkList); //分类信息显示至页面,我使用checkBox进行多个联系人选择
                    }

                }, function(e) {
                    alert("Find contact error: "   e.message);
                });

            }, function(e) {

    });
Copier après la connexion

2. Importer plusieurs informations personnelles sélectionnées à partir du carnet d'adresses : La résolution de ce problème doit être effectuée lors de la création préalable de la page du carnet d'adresses. Je dois mettre l'ID du contact sur la page (le masquer à l'aide de l'affichage), de sorte que lorsque j'obtiens la case à cocher sélectionnée, je puisse directement obtenir l'ID et mettre ces ID dans un tableau. Filtrez ensuite les informations de contact de ces identifiants via l'application de plus.contacts.getAddressBook et address.find.

1. Pour résoudre le problème de l'utilisation de checkBox pour obtenir l'identifiant du contact, j'ai utilisé ici JQuery.

//筛选已经被选中的checkbox
    $("input:checked").each(function() {
            var index = $(this).parent().prev().children(&#39;label&#39;).text(); //获取id
            var name = $(this).parent().prev().children(&#39;p&#39;).text(); //获取姓名
            username.push(name);
            usernameIndex.push(index);
    });
Copier après la connexion

2. Pour résoudre le problème, placez ces index dans find pour filtrer les informations, et retirez les informations de contact sous un identifiant spécifique

plus.contacts.getAddressBook(plus.contacts.ADDRESSBOOK_PHONE, function(addressbook) { //获取通讯录信息
            for(var j = 0; j < username.length; j  ) {//循环所选取的联系人,记得循环一定要放在这里,一开始我放在        plus.contacts.getAddressBook外面是错误
                        addressbook.find(null, function(contacts) {
                            console.log("进入查询");
                            for(var i = 0; i < contacts.length; i  ) {//无论是否为多个信息,一定要循环数组
                                console.log("进入循环");
                                //var id = contacts[i].id;
                                var displayname = contacts[i].displayName;
                                var phone = "";
                                var emails = "";
                                var dates = "";
                                var remark = "";
                                if(contacts[i].phoneNumbers.length > 0) {//这里需要判断是否为空,为空的数组没有index=0;
                                    phone = contacts[i].phoneNumbers[0].value;
                                } else {
                                    phone = contacts[i].phoneNumbers;
                                }

                                if(contacts[i].emails.length > 0) {//这里需要判断是否为空,为空的数组没有index=0;
                                    emails = contacts[i].emails[0].value;
                                } else {
                                    emails = contacts[i].emails;
                                }

                                var dateNum = new Date(contacts[i].birthday);//这里的birthday是number类型!!!官方手册坑爹?
                                dates = dateNum.getFullYear()   "."   (dateNum.getMonth()   1)   "."   dateNum.getDate();
                                remark = contacts[i].note;

                                var getContact = {//把所有信息放到一个json里面
                                    contactName: displayname,
                                    sex: "",
                                    department: "",
                                    positions: "",
                                    tel: "",
                                    phone: phone,
                                    eMail: emails,
                                    birthday: dates,
                                    hobby: "",
                                    remark: remark
                                };

                                //这下面是我的业务代码了,这里大家可以写自己的信息
                                //createContactTable(db);
                                //InsertContact(db, getContact); //多个信息插入有线程安全的问题出现!!!!!!!
                            }
                            //console.log(username.length);                         
                        }, function(e) {
                            console.log("查询错误");
                        }, {  
                                                         //这里面的筛选非常重要!!!这样才能选出匹配的信息
                            filter: [{
                                logic: "or",
                                field: "id",
                                value: usernameIndex[j]
                            }],
                            multi: false
                        });
                    }
                }, function(e) {
                    console.log("打开通讯录错误");
                });
Copier après la connexion

Articles connexes :

php implémente la fonction de carnet d'adresses en ligne (code source ci-joint), le code source du carnet d'adresses

js implémente l'effet d'affichage coulissant d'index et l'effet d'ancrage d'affichage coulissant de l'adresse book

Exemple de code détaillé d'utilisation d'un îlot de données XML combiné avec Dom pour créer un carnet d'adresses

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal