我的验证工作在常规PHP表单上,但在这个Ajax表单上,它只会在某些时候工作。通常在单击提交按钮一次后,验证将不再次再次运行。我觉得我需要将验证与Ajax绑定,但我不确定如何继续。
<script type="text/javascript">
var J = jQuery.noConflict();
J(document).ready(function(){
// Validate signup form on keyup and submit
J("#professorform").validate({
rules: {
"professor":
{
required: true,
format: true},
},
});
});
</script>
<script type="text/javascript">
function addProf(str)
{
if (str=="")
{
document.getElementById("prof").innerHTML="";
return;
}
if (window.XMLHttpRequest)
{ // Code for Internet Explorer 7 and later, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{ // Code for Internet Explorer 6 and Internet Explorer 5.
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("POST","test.php",true);
var params = "professor=" + encodeURI(document.getElementById("professor").value);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.setRequestHeader("Content-length", params.length);
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("prof").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.send(params);
}
</script>
答案 0 :(得分:0)
我不确定这会解决您的问题,但您可以使用jQuery AJAX命令替换所有AJAX设置和回调。请在此处查看:http://api.jquery.com/jQuery.ajax/ 它会更清晰,写起来也容易得多。