Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 页面完全加载时清除Div_Javascript_Php - Fatal编程技术网

Javascript 页面完全加载时清除Div

Javascript 页面完全加载时清除Div,javascript,php,Javascript,Php,我使用JavaScript和Ajax调用php从数据库返回数据。调用按其应有的方式返回数据,但当页面完全加载时,标记值被清除 我需要在语法中做哪些更改,以便div标记保留php文件中的值echo?我检查了控制台,它只显示页面加载信息,与此问题无关(至少我没有看到) var-xhttp; 函数MakeQuery() { 如果(window.XMLHttpRequest){ xhttp=newXMLHttpRequest(); }如果(window.ActiveXObject){ xhttp=新的

我使用JavaScript和Ajax调用php从数据库返回数据。调用按其应有的方式返回数据,但当页面完全加载时,
标记值被清除

我需要在语法中做哪些更改,以便div标记保留php文件中的值
echo
?我检查了控制台,它只显示页面加载信息,与此问题无关(至少我没有看到)


var-xhttp;
函数MakeQuery()
{
如果(window.XMLHttpRequest){
xhttp=newXMLHttpRequest();
}如果(window.ActiveXObject){
xhttp=新的ActiveXObject(“Microsoft.XMLHTTP”);
} 
xhttp.onreadystatechange=function(){if(xhttp.readyState==4&&xhttp.status==200)
{document.getElementById(“结果”).innerHTML=xhttp.responseText;}
open(“GET”,“SQLQuery.php”,true);
xhttp.send();
}

我认为在使用AJAX之前,您需要防止实际的表单提交:

var-xhttp;
函数MakeQuery(事件){
event.preventDefault();//取消表单提交,使用AJAX
if(window.XMLHttpRequest){
xhttp=newXMLHttpRequest();
}else if(window.ActiveXObject){
xhttp=新的ActiveXObject(“Microsoft.XMLHTTP”);
}
xhttp.onreadystatechange=函数(){
如果(xhttp.readyState==4&&xhttp.status==200){
document.getElementById(“结果”).innerHTML=xhttp.responseText;
}
}
open(“GET”,“SQLQuery.php”,true);
xhttp.send();

}
我认为在使用AJAX之前,您需要防止实际的表单提交:

var-xhttp;
函数MakeQuery(事件){
event.preventDefault();//取消表单提交,使用AJAX
if(window.XMLHttpRequest){
xhttp=newXMLHttpRequest();
}else if(window.ActiveXObject){
xhttp=新的ActiveXObject(“Microsoft.XMLHTTP”);
}
xhttp.onreadystatechange=函数(){
如果(xhttp.readyState==4&&xhttp.status==200){
document.getElementById(“结果”).innerHTML=xhttp.responseText;
}
}
open(“GET”,“SQLQuery.php”,true);
xhttp.send();

}
这是因为您忽略了阻止实际表单提交(去研究如何做到这一点),因此浏览器提交表单并将服务器的响应显示为新文档。(或者,不要使用提交按钮来触发脚本功能。)我所发现的是,我可以使用按钮作为提交或重置。我不希望它是一个重置,似乎我也不希望它是一个提交。使用type=“button”@gRaWEty-这会使按钮高亮显示,好像它一直被单击一样。有没有办法在单击后将按钮返回到“正常”状态?这是因为您忽略了阻止实际表单提交(请研究如何进行),因此浏览器会提交表单并将服务器的响应显示为新文档。(或者,首先不要使用“提交”按钮触发脚本功能。)我发现我可以将该按钮用作提交或重置。我不希望它是重置,似乎我也不希望它是提交。使用type=“button”@gRaWEty-这会使按钮高亮显示,就好像它一直被单击一样。有没有办法在单击后将按钮返回到“正常”状态?这样可以工作,但也会使按钮高亮显示。有没有办法将按钮返回到“正常”状态单击后?它将一直高亮显示,直到我单击页面上的其他位置。@BellHopbyDayameTuerCodeBynigh是的,您可以像document.getElementById(“buttonid”).blur()一样模糊焦点。或者您可以传递按钮“this”上下文作为参数,在其上使用模糊。在此处阅读更多信息此操作有效,但也会使按钮高亮显示。是否有方法在单击后将按钮返回到“正常”状态?它将保持高亮显示,直到我单击页面上的其他位置。@BellHopByDayameTuerCodeBynigh是的,您可以像文档一样模糊按钮。getElementById(“buttonid”).blur()。或者您可以将按钮“this”上下文作为参数传递,并在其上使用blur。请阅读此处的详细信息
<form id="form1" method="post">
<div id="results">&nbsp;</div>
<div style="padding-top: 10px;"><input type="submit" value="Submit" onclick="MakeQuery()" /></div>
<script type="text/javascript">
var xhttp;
function MakeQuery()
{
 if (window.XMLHttpRequest) {    
  xhttp = new XMLHttpRequest();
} else if (window.ActiveXObject) { 
    xhttp = new ActiveXObject("Microsoft.XMLHTTP");
} 
    xhttp.onreadystatechange = function(){ if (xhttp.readyState == 4 && xhttp.status==200)
    { document.getElementById("results").innerHTML = xhttp.responseText; } }
     xhttp.open("GET", "SQLQuery.php", true); 
     xhttp.send();
}
</script>
</form>