まず第一に、私の英語で申し訳ありません...
- 「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 に送信する理由はわかりません (機能 2) が、 "aaa" div (機能 2)のrefresh.php (機能 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 --->