Ajax代码无法搜索数据


Ajax code not working to search data

表单提交时,我使用普通的ajax从数据库进行搜索,但代码不起作用。有两个日期字段,我想在两个日期之间搜索数据。如果我使用单独的页面,代码可以工作,但在ajax中不工作。任何帮助都将不胜感激。谢谢

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script src="datepicker/javascript/jquery-1.9.1.min.js"></script>
<link rel="stylesheet" href="datepicker/css/default.css" type="text/css" />
<script type="text/javascript" src="datepicker/javascript/zebra_datepicker.js"></script>
<script>
$(document).ready(function() {
     $('input.datepicker').Zebra_DatePicker();
    $('#strt_dt').Zebra_DatePicker();
});
$(document).ready(function() {
     $('input.datepicker').Zebra_DatePicker();
    $('#end_dt').Zebra_DatePicker();
});
</script>
<script>
function showStd(tstfrm) {
   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("replace").innerHTML=xmlhttp.responseText;
    }
  }
  var strt_dt = document.getElementById('strt_dt').innerHTML;
  var end_dt = document.getElementById('end_dt').innerHTML;
  xmlhttp.open("GET","test2.php?strt_dt="+strt_dt+"&end_dt="+end_dt, true);
  xmlhttp.send();
}
</script>
</head>
<body>
        <form action="" method="post" onsubmit="return showStd(this);" name="tstfrm" id="tstfrm">
              <fieldset>
                 <p><label>Start Date:</label><input name="strt_dt" type="text" class="text-long" id="strt_dt" /></p>
                 <p><label>End Date:</label><input name="end_dt" type="text" class="text-long" id="end_dt" /></p>           
                 <input name="serch" type="submit" id="serch" value="search"/>
              </fieldset>
        </form>
        <div id="replace" style="height:500px; width:1000px; border:1px solid #000;">
                        </div>
</body>
</html>

下面是搜索的test2.php

<?php
include '../dbconn.php';
$strt_dt=$_REQUEST['strt_dt'];
$end_dt = $_REQUEST['end_dt'];
?>
<table cellpadding="0" cellspacing="0" border="1">
                            <tr>
                            <td width="137"><b>Name</b></td>
                            <td width="154"><b>Contact</b></td>
                            <td width="407" align="center"><b>Action</b></td>
                            </tr>
                            <?php
                             $qry=mysql_query("SELECT * FROM std_register WHERE reg_dt BETWEEN '".$strt_dt."' AND '".$end_dt."'");
                              while($row=mysql_fetch_array($qry))
                              {
                            ?>
                            <tr>
                                <td><?php echo $row['std_name1']." ".$row['std_name2'];?></td>
                                <td><?php echo $row['std_phno'];?></td>
                            </tr>                        
                              <?php
                              }
                              ?>    
                        </table>

Dude我可以在你的代码中看到你在页面上使用jQuery。可以对Ajax请求使用jQuery提供的方法。

  1. $.get
  2. $.post

对于您的工作,更详细的方法$.ajax需要jQuery使其跨浏览器。

$.get('/test2.php?date='+date,function(response){
//use server response to manipulate dom
});