plus.contacts.getAddressBook(plus.contacts.ADDRESSBOOK_PHONE,function(contactsBook){
contactsBook.find(["displayName","phoneNumbers"],function(contacts){
for(var i = 1; i<contacts.length; i++){
var newLi = document.createElement('li');
newLi.className = "mui-table-view-cell"; //这里是className而不失classes;
newLi.innerHTML = '<a><span class="mui-icon mui-icon-person"></span> '+contacts[i].displayName+'<span class="mui-pull-right">'+contacts[i].phoneNumbers[0].value+"</span></a>";
newLi.addEventListener('tap',function(){
//console.log(contacts[i].phoneNumbers[0].value);
if(contacts[i].phoneNumbers == null)
console.log("contactPhone is null");
else
console.log("contactPhone is not null");
for(var j in contacts[i].phoneNumbers){
if(j == null)
console.log("is null");
else
console.log("not null");
console.log(j.value);
//plus.device.dial(j,true);
break;
}
})
fatherelement.appendChild(newLi);
//console.log(newLi.classes);
}
var vals = document.getElementsByTagName('li');
console.log(vals.length);
//console.log(vals[0].innerHTML);
},function(){
mui.alert("获取联系人失败");
})
},function(){
mui.alert("获取通讯录失败!");
})
这是代码,第一次查询生成通讯录时,手机号出来了,但会报错( Cannot read property '0' of null),但是第二次添加'tap‘事件拨打手机号时,手机号不出来,还是报错( Cannot read property '0' of null)
disneyland (作者)
为什么联系人有电话号码,测试时,contacts[i] 不为null ,而contacts[i].phoneNumbers 为null。
2015-06-25 18:04