次のように、単純なスクリプトにする必要があります。
function functionName(code){
var xmlhttp;
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)
{
var result=xmlhttp.responseText;
if (result=="FAIL")
{
// Alert
}
else
{
// Alert
}
}
}
xmlhttp.open("GET","script.php?q="+code,true);
xmlhttp.send();
}
関数を呼び出す onclick コマンドを使用して、ページにボタンがあります。
<form action="">
<table><tr><td><input type="text" name="code" id="code" size="4"></td><td><a onclick="functionName(code.value)"><img src="images/button.png" /></a></td></tr></table><br />
script.php が「FAIL」を返した場合に 1 つの応答を返し、他のすべての状況で別のアラートを返すフォーム入力からコードを送信します (これ以上のことを行いますが、他のすべてを取り出し、トラブルシューティングにアラートを使用しました)。コードは Chrome 内では正常に動作しますが、Internet Explorer 内では動作しません。私はこれにかなり慣れていないので、デバッグ方法がわかりません。ブラウザ間で問題を引き起こしている明らかなものはありますか? 助けてくれてありがとう。
編集:
実際に問題を引き起こしているのはonclickであることに絞り込んだので、これがIEで機能しない理由を調査します...
編集2:
IE10の癖のように見えます-他のすべてのバージョンで動作し、互換性ビューでは動作しますが、理由はわかりません