我已经创建了一个自动填充(建议)字段,因此当您键入时,您将获得字段下方的建议作为文本。我重新构建了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(data)我得到的值回显但是在空白页面上。 当我把comeon.innerHTML(数据)我得到Uncaught TypeError:不能调用null的方法'innerHTML'。我知道这种类型的错误是因为它无法找到元素来源并返回null。 此外,我在回调文本所在的模态中得到[object Object]。
有任何帮助吗?感谢。
答案 0 :(得分:0)
以下是我可以注意到的一些问题;
comeon = document.getElementById('comeon');
你甚至不使用comeon div,但是在你创建之前你试图获得它。你可以在这一行下创建“comeon”div。
$.post("thesuggtest.php", { 'suggestion' : xmlhttp.responseText },function(data){comeon.innerHTML(data);console.log('Error:', data);});
$.post
也是一个异步请求,所以它永远不会返回您要求它的任何文本。你可以打电话给其他事件点击<a data-toggle="modal"
。而这次你将能够获得“comeon”div。
希望这有帮助。