Home > Backend Development > PHP Tutorial > ajax+php的有关问题

ajax+php的有关问题

WBOY
Release: 2016-06-13 13:35:11
Original
748 people have browsed it

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>
Copy after login

以下是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();
}

Copy after login

然后是对于的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;
Copy after login

现在好像是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>
Copy after login
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template