Ajax+php関連の問題

WBOY
リリース: 2016-06-13 13:35:11
オリジナル
741 人が閲覧しました

ajax+php の問題
いくつかのチェックボックスがループアウトしており、テキスト ボックスがあります

HTML コード
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--><input name="ckID[]" type="checkbox" id="<?='ckID'.$row['MIS_id']?>" value="<?=$row['MIS_id']?>" onclick="showInfor(this.value)" />
<div id="txtHint">
<input name="txtid" type="text" id="txtid" />
</div>
ログイン後にコピー

以下は AJAX です:
JScript コード
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->function showInfor(str) { 
    //document.getElementById("txtid").value=str;
    //var str = document.geElementById("ckID").value;
    //document.write(str);
    var xmlhttp;
    if (id.length==0)
      {
      document.getElementById("txtid").value="";
      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("show").innerHTML=xmlhttp.responseText;
        document.getElementById("txtid").value=xmlhttp.responseText;
        }
      }
    xmlhttp.open("GET","showSettle.php?q="+str,true);    
    xmlhttp.send();
}

ログイン後にコピー

次に、php ページの
PHP コード
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->$db = mysql_connect("localhost","root","1234");
mysql_select_db("it database",$db);

$q=$_GET['q']; // connecting to database and stuff...  
echo $q;
  
$temp = mysql_query("SELECT MIS_id FROM materialinstorage WHERE MIS_id = '$q' "); 
echo $temp;

$row = mysql_fetch_array($temp);  
$id =$row['MIS_id'];  
echo $id;
ログイン後にコピー

では、php ページが実行されていないようで、応答がありません。
ajax で document.write(str); を実行するとデータを取得できます。
すみません、何が問題だったのでしょうか

-----解決策---------
Google ブラウザまたは Firebug を入手すれば、すぐにわかります。
------解決策---------
話し合う

彼は私の ID が定義されていると言った
Ajax の id.length==0 を xmlhttp==null に変更しました
しかし、効果は同じであり、Web ページのエラーは表示されませんステータスバー

------解決策---------
if (id.length==0)
このIDは定義されていません
------解決策----------------------
段階的にデバッグします。最初のalert(xmlhttp.responseText); PHP側の出力がポップアップできるかどうかを確認します。
------解決策---------
HTML コード


document.getElementById("txtid").value=""; この文のどこが間違っているのでしょうか?

//この文はあなたとは何の関係もありません。この文はテキスト ボックスの値を空に設定するだけです。
if (id.length==0){ //これはこの段落の処理です。主な理由は、この段落が何をするのかを理解していないことです。選ばれていますか? この段落を確認してください
      document.getElementById("txtid").value="";
      戻る;
  <div class="clear"></div>
ログイン後にコピー
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート