【发布时间】:2012-03-15 18:42:43
【问题描述】:
好吧,总而言之,我要做的是禁用基于 ajax 调用的提交按钮,该调用正在检查我的数据库以查看数据是否存在于某个日期。
目前我已经完成了上述所有工作,但是在实际禁用提交按钮方面我遇到了最后的障碍。目前,我的 ajax 调用响应在页面上的 div 中显示为文本,我可以通过更改下面的代码,如果响应与我的代码检查的响应不匹配但无法使其正常工作,则禁用按钮匹配(或不响应)。我想我的问题是我正在检查的内容和来自 ajax 调用的实际响应不同。任何帮助将不胜感激。
我的 ajax 调用页面
<script type="text/javascript">
function showHint(str)
{
if (str.length==0)
{
document.getElementById("txtHint").innerHTML="";
document.getElementById("txtHint").style.border="0px";
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("txtHint").innerHTML=xmlhttp.responseText;
document.getElementById("txtHint").style.border="1px solid #A5ACB2";
if (xmlhttp.responseText == 'WARNING!! - PREVIOUS RECORDS FOUND') document.getElementById('FRINSUB').disabled = true;
else
document.getElementById('FRINSUB').disabled = false;
}
}
xmlhttp.open("GET","checkdate.php?q="+str,true);
xmlhttp.send();
}
</script>
我非常基本的 ajax 代码
<?php
$cdrf=trim($_GET["q"]);
list($d, $m, $y) = explode('/', $cdrf);
$mk=mktime(0, 0, 0, $m, $d, $y);
$cdrfq=strftime('%Y-%m-%d',$mk);
$q=mysql_real_escape_string($cdrfq);
$isdate = false;
$con = mysql_connect("server","username","password");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("jbsrint", $con);
$query = "SELECT * FROM fuelrecords WHERE FR_WE='$q'";
$res = mysql_query($query);
if(mysql_num_rows($res) > 0){
$response = "WARNING!! - PREVIOUS RECORDS FOUND";
}else{
$response = "NO RECORD FOUND";
}
echo $response;
?>
【问题讨论】: