[英]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.