Maison  >  Article  >  développement back-end  >  ajax+php的有关问题

ajax+php的有关问题

WBOY
WBOYoriginal
2016-06-13 10:17:48783parcourir

ajax+php的问题
有好几个checkbox循环出来,还有个文本框

HTML code
<!--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
<!--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
<!--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
可效果还是一样的,状态栏里也没显示网页错误了

------解决方案--------------------
if (id.length==0)
这个 id 没有定义
------解决方案--------------------
一步一步调试。首先alert(xmlhttp.responseText); 看能不能弹出php端的输出。
------解决方案--------------------
HTML code
document.getElementById("txtid").value="";应该是这句,这是什么错啊 //跟你这句没关系的,这句只是设置文本框中的值为空if (id.length==0){  //是这段的处理,主要是id.length这个没有定义,不懂这段做什么,是判断复选框是否被选? 检查下这段      document.getElementById("txtid").value="";      return;  }<div class="clear">
                 
              
              
        
            </div>
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn