2012-03-13 136 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是一个包含姓名,电子邮件和电话号码列表的对象。代码点击保存成功,并添加一个联系人的正确名称,但不添加电话号码或电子邮件。样品输入(字符串化的转移,然后被发送到函数之前解析)...保存电话号码并通过电子邮件发送给联系人

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

任何人都知道它为什么不加入PHONENUMBERS /电子邮件?

编辑:结果对象没有长度...只有数组。电子邮件仍然无法正常工作。

回答

1

我认为contact.email实际上应该是contact.emails,它也应该是一个像contact.phoneNumbers这样的数组。

这里的确切结构:

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

你是绝对正确的。我真希望它不会花我太多时间才能找到简单的拼写错误/叹息。 – Twomz 2012-03-13 16:00:22

相关问题