1

我得到了联系人姓名,但没有得到号码。我哪里错了?

这是代码。

function loadPhoneContacts() {
    alert("Entering contacts");
    var options = new ContactFindOptions();
    options.filter="";
    options.multiple = true;
    var fields = ["displayName", "name", "nickname"];
    navigator.contacts.find(fields, onSuccessOfLoadContacts, onErrorOfLoadContacts, options);
}

function onSuccessOfLoadContacts(contacts) {

    alert("Got '" + contacts.length + "' contacts.");

    for (var i=0; i<contacts.length; i++) {

        var contactname =  contacts[i].name.formatted;
        alert(ContactName + " has " + contacts[i].phoneNumbers.length + " numbers");
        alert(contacts[i].phoneNumbers[1].value);

            for (var j=0; j<contacts[i].phoneNumbers.length; j++) {
                contactnumber = contacts[i].phoneNumbers[j].value;
                alert("Got number:" + contactnumber);
            }



    }
}

function onErrorOfLoadContacts(contactError) {
    alert('onError!');
}

第二个 for 循环中的警报不会显示。

我是PG Noob。

这是更新的(不工作)代码:

function loadPhoneContacts() {
    var options = new ContactFindOptions();
    options.filter="";
    options.multiple = true;
    var fields = ["displayName", "name", "nickname", "phoneNumbers"];
    navigator.contacts.find(fields, onSuccessOfLoadContacts, onErrorOfLoadContacts, options);
}

// onSuccess: Get a snapshot of the current contacts
//
function onSuccessOfLoadContacts(contacts) {


    for (var i=0; i<contacts.length; i++) {

        alert(contacts[i].name.formatted);

            for (var j=0; j<contacts[i].phoneNumbers.length; j++) {
                alert(contacts[i].phoneNumbers[j].value);
            }

    }
}

// onError: Failed to get the contacts
//
function onErrorOfLoadContacts(contactError) {
    alert('onError!');
}

在 var 字段中添加了 phoneNumbers,删除了变量并提醒它们。

4

1 回答 1

1

您没有告诉 PhoneGap 加载 PhoneNumbers,您需要将其添加到所需的字段数组中:

var fields = ["displayName", "name", "nickname", "phoneNumbers"];
于 2013-02-07T15:18:58.467 回答