Hirdetés

Keresés

Új hozzászólás Aktív témák

  • Sk8erPeter

    nagyúr

    válasz SektorFlop #2460 üzenetére

    Rájöttem, hogy a kettő között mi a különbség.
    A kódban, amit Te mutattál, ez van:

    options.filter="";
    var fields = ["phoneNumbers", "name"];

    a példakódban ez:

    filter = ["displayName"]; // return contact.displayName field
    Itt mondjuk elcseszték, filter helyett itt fields akart szerintem lenni az elnevezés, de mindegy, nem is ez a lényeg.
    Tehát ott displayName-et használnak, nálad a sima name van. Lehet, hogy a name valamiért üres (ezért nem jelenik meg nálad), a displayName viszont nem.

    Ezért az itt lévő kódodat közelítsük meg másképpen, próbáld átírni így a JavaScript-kódot:

    function onDeviceReady() {
    var options = new ContactFindOptions();
    options.filter = "";
    var fields = ["displayName", "phoneNumbers", "name"];
    navigator.contacts.find(fields, onSuccess, onError, options);
    }

    function onSuccess(contacts) {
    var ul = document.getElementById("list");
    for (var index = 0; index < contacts.length; index++) {
    var name = contacts[index].name.formatted;
    var phoneNumber = contacts[index].phoneNumbers[0].value;
    var li = document.createElement('li');
    li.innerHTML = "<a href=\"tell://" + phoneNumber + "\>name: " + name + ", name in other form: " + contacts[index].name + " displayName: " + contacts[index].displayName + ";</a>, ";
    ul.appendChild(li);
    }
    }

    function onError(error) {
    alert('hiba!');
    }

    function init() {
    document.addEventListener("deviceready", onDeviceReady, false);
    }

    ===

    (#2466) SektorFlop : az entries tömb hosszát adja meg.

Új hozzászólás Aktív témák