我使用Ajax进行注册表单和jquery模糊,它正在验证,但是当我点击提交表单数据时会在db中保存 我不需要保存提交数据,直到用户不更正字段文本 我怎么能避免这个问题?
$(document).ready(function(){
$('#username').blur(function() {
var username = $('#username').val();
if (window.XMLHttpRequest)
{
xmlhttp=new XMLHttpRequest();
}
else
{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
if(username !=""){
//$('#wait').removeClass('loading');
if(xmlhttp.responseText.match(/Space/g)){
$('#usernameErr').css('display','none');
$("#valid_username").html('User name is not valid');
$('#wait').addClass('loading');
return false;
}
if(xmlhttp.responseText.match(/No/g)){
$('#usernameErr').css('display','none');
$("#valid_username").html('');
}
}
}
}
// $('#wait').addClass('loading');
xmlhttp.open("GET","process_signup.php?name="+username,true);
xmlhttp.send();
});
答案 0 :(得分:0)
您需要阻止表单提交,直到错误被清除。你可以这样做:
$('#my-form').submit(function(e){
if( checkFormForErrors() ) {
e.preventDefault();
}
}
然后只需构建一个checkFormForErrors
函数,如果表单有任何错误,则返回true。
但是,请记住,您应该始终检查服务器端的错误。永远不要假设用户给你很好的输入。如果你不检查输入,你将被黑客攻击。