2012-03-13 28 views
0
function saveContact(contactObj) { 
    var contact = navigator.contacts.create(); 
    var email = [1]; 
    //var len = contactObj.phone.length; 
    var len = 2; 
    var phoneNums = [len]; 
    email[0] = new ContactField("email",contactObj.email); 
    contact.email = email; 
    contact.nickname = contactObj.name; 
    contact.givenName = contactObj.name; 
    for (var i = 0; i < len; i++) { 
    phoneNums[i] = new ContactField(contactObj.phone[i].type, contactObj.phone[i].number, contactObj.phone[i].pref); 
    } 
    contact.phoneNumbers = phoneNums; 

    contact.save(onSaveSuccess, onSaveFail); 
} 

contactObjは、名前、電子メール、および電話番号のリストを含むオブジェクトです。コードはonSaveSuccessにヒットし、正しい名前の連絡先を追加しますが、電話番号や電子メールは追加されません。サンプル入力(転送のための文字列化は、関数に送られる前に解析された)、それはの電話番号/メールを追加されていない理由...連絡先に電話番号と電子メールを保存する

{"name":"Test User", 
"email":"[email protected]", 
"phone":{ 
    "0":{"type":"cell","number":"1231231234","pref":true}, 
    "1":{"type":"home","number":"1231231235","pref":false}}} 

誰でも知っていますか?

EDIT:オブジェクトには長さ...配列のみがありません。電子メールはまだ動作していません。

答えて

1

contact.emailは実際にはcontact.emailsであり、contact.phoneNumbersのような配列である必要があります。あなたは絶対的に正しい

{"type":"home","value":"[email protected]","id":0,"pref":false} 
+0

はここで正確な構造です。シンプルなスペルミスや溜息を見つけるのがずっと遅かったですね。 – Twomz

関連する問題