0

SQL データベースから顧客を一覧表示するページがあります。彼らが残したクレジットが一覧表示され、1 つのクレジットを削除するためにクリックできるボタンがあります。それが行われる方法は、ボタンをクリックすると、1 つのクレジットを削除し、その後クレジットをエコーする php ページを実行する Ajax 関数を呼び出すことです。

URL に文字列を手動で入力すると、php ページは正常に動作しますが、smy Ajax 関数が間違っているに違いありません。

フォーム付きのリストは次のとおりです。

while ($data = mysql_fetch_object($result)) {
    print "<TR><TD>".$data->pass_name."</TD><TD><span id='credit'>".$data->credit_left."</span></TD><TD><form><input type='submit' value='- 1' onsubmit='removeOneCredit(pass_id=".$data->pass_id."&credit_left=".$data->credit_left.")'></form></TD></TR>\n";

}

ここに私の機能があります:

<script>
function removeOneCredit(str)
{
if (str=="")
  {
  document.getElementById("credit").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("credit").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","removeonecredit.php?"+str,true);
xmlhttp.send();
}
</script>

機能が動作しない理由がわかりません。私は removeonecredit.php がその仕事をしていることを知っています。

4

1 に答える 1

0

関数の引数の = が問題であることがわかりました。ここにエスケープする方法に関する質問を投稿しました: Javascript は等号 PHPをエスケープします。

于 2012-12-10T02:43:46.677 に答える