首先,对不起我的英语...
- “func 0”是ajax。
- “func 1”是每 1000 毫秒刷新一次 ajax 代码的代码。当代码工作时刷新refesh.php 页面并将其上的文本发送到“bbb” div。
- “func 2”是成员编写文本然后将文本发送到 send.php 页面(文本发送到 mySQL)然后在“aaa”div 中显示文本的代码。
有人可以帮助我理解为什么代码不起作用?
- 如果我只在页面中输入“func 0”和“func 1”,一切正常。
- 如果我只在页面中输入“func 0”和“func 2”,一切也都很好。
- 但如果我把所有 3 个功能都放在页面上,它就不起作用。我不知道为什么当成员尝试发送文本时,它会将文本发送到 mySQL(func 2),但它在“aaa” div(func 2)上显示来自refresh.php(func 1)的文本,而不是显示成员发送到“aaa”div 的文本。
我希望你能找出问题所在,我有点难以解释
这是代码:
<!--- func 0 --->
<script>
function refresh(name, url, info, type)
{
var str;
if (type=="send") {
str = document.forms["aaa"]["txt"].value;
}
if (type=="send" && str=="")
{
document.getElementById(name).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)
{
document.getElementById(name).innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET",url+"?info="+str,true); // send the text to page
xmlhttp.send();
return false;
}
</script>
<!--- end - func 0 --->
<!--- func 1 --->
<script type="text/javascript">
setInterval("refresh('bbb', 'refresh.php', '', 'refresh')", "1000");
</script>
<div id='bbb'> div to refresh at 1000 ms </div>
<!--- end - func 1 --->
<!--- func 2 --->
<form name='aaa' onsubmit="return refresh('aaa', 'send.php', '', 'send');" method='post'>
txt: <input type='text' name='txt' autofocus='autofocus'> <input type='submit' value=' send '>
</form>
<div id='aaa'> div that <b>*send*</b> txt to sql </div>
<!--- end - func 2 --->