Heim >Backend-Entwicklung >PHP-Tutorial > ajax+php的有关问题

ajax+php的有关问题

WBOY
WBOYOriginal
2016-06-13 13:35:11733Durchsuche

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>
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn