我已經創建了一個自動完成(建議)字段,因此當您鍵入時,將字段下方的建議顯示爲文本。我重新調用了JavaScript,並且讓文本可點擊。所以當你點擊一個模式出現時(另一個小對話框)。顯示JavaScript值問題
我想要的是將建議字段中的文本顯示到模態。 我使用$ .post(「thesuggtest.php」)方法,因爲我需要獲取所選的建議文本(將被單擊),並通過php & mysql獲取有關它的信息。
這是我使用的主要JavaScript,但我有一些問題。
function showHint(str)
{
if (str.length==0)
{
document.getElementById("txtHint").innerHTML="";
return;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
comeon = document.getElementById('comeon');
document.getElementById('predlozi').innerHTML='<a data-toggle="modal" data-backdrop="static" href="#myMail" class="label ttip_b" title="New messages">' + xmlhttp.responseText + '</a><div class="modal hide fade" id="myMail"><div class="modal-header"><button class="close" data-dismiss="modal">×</button><h3>New messages</h3></div><div class="modal-body"><div id="comeon"></div>' + $.post("thesuggtest.php", { 'suggestion' : xmlhttp.responseText },function(data){comeon.innerHTML(data);console.log('Error:', data);}); + '</div></div>';
}
}
xmlhttp.open("GET","gethint.php?q="+str,true);
xmlhttp.send();
}
我使用gethint.php文件來檢索字段(我從一個數組讓他們)匹配輸入值的建議。 問題是我無法在模態(對話框)中回顯文本。
當我把document.write(數據)我得到的價值呼應,但在空白頁上。 當我把comeon.innerHTML(數據)我越來越Uncaught TypeError:不能調用null的方法'innerHTML'。我知道這種類型的錯誤是因爲它找不到該元素,它返回null。 另外,我得到[對象對象]模式中的回顯文本應該是。
任何幫助?謝謝。
你爲什麼手動執行'XMLHttpRequest'的東西?爲什麼不使用像jQuery這樣的庫已經可以處理所有這些? – 2013-03-25 15:38:40
因爲我不那麼熟悉那些東西。我只想將建議的值傳遞給php,並從模式中的數據庫中檢索有關它的信息。 – Neshkowsky 2013-03-25 15:42:56
當你調用'$ .post'時,你已經在使用jQuery的請求。你也應該用它來做這個東西。 – Xymostech 2013-03-25 15:44:47