簡體   English   中英

修改android phonegap應用程序上的html內容

[英]modifying html content on android phonegap application

我有以下代碼,可從設備中獲取所有聯系人,並在表格中顯示它們。

function backupAllTheContacts() {
var htmltd ;
var filter = ["displayName", "phoneNumbers", "emails"] ;  // Fields
navigator.contacts.find(filter, function(contacts) {
    //contactsList = JSON.stringify(contacts) ;
    alert('found ' + contacts.length + ' contacts') ;
    for (var i=0; i<contacts.length; i++) {
        htmltd += '<tr><td>' + contacts[i].displayName + '</td><td>' + contacts[i].phoneNumbers[0].value + '</td><td>' + contacts[i].emails[0].value + '</td></tr>' ;
    }
    if(htmltd == ''){
        alert('array population empty') ;
    }
    else{
        document.getElementById("tablebody").innerHTML = htmltd  ;
    }
}, onError, {"multiple": true});    

function onError(contactError){
   alert("Error = " + contactError.code);
}

}

注意:頁面完全加載后單擊按鈕時,將調用此函數

科爾多瓦:cordova-3.1.0

Phonegap:phonegap-2.2.0

這在虛擬模擬器上可以很好地工作,但是當在真實設備(在兩個android設備上測試)上進行測試時,它會提取聯系人,但“ tablebody”的html內容未修改,我嘗試過

$('#tablebody').html(htmltd)

但仍然不起作用。 並且控制台和logcat沒有出現錯誤。

您需要在for很長的串聯:

htmltd += '<tr><td>' + contacts[i].displayName + '</td><td>' + contacts[i].phoneNumbers[0].value + '</td><td>' + contacts[i].emails[0].value + '</td></tr>' ;

實際設備上可能不存在某些字段。 考慮一下emails或電話phoneNumbers 假設存在零索引值,則可以靜態訪問它們。

JavaScript可能會引發未定義的錯誤。

將該線分成段。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM