我已经使用ajax发布了我的表单,并且所有工作都很好。就ajax而言,它使用responseText成功处理了它的工作。但这并不意味着在我的情况下所有的处理都是正确的。如何使用条件处理ajax resonseText
ajax发布我的表单,它运行一个php文件以将数据插入到我的数据库中。如果成功或失败,将会有一个responseText或者说:“谢谢”,如果所有数据都被插入到数据库中,或者“Err:”如果失败。
如何从该responseText处理这种自定义responseText错误的if条件?或者我可以强制它在“Err:”的responseText上返回一个.ajaxError()?
HTML表单:
<form method="post" action="contact.php" id="contact">
<fieldset>
<input type="text" id="email" class="required email" name="email" maxlength="30" value="youremail @ example.com" />
<input type="text" id="subject" class="required" name="subject" maxlength="24" value="Enter your subject" />
<textarea id="msg" class="required textarea" name="msg" cols="30" rows="5">Reason for contact.</textarea>
<input type="submit" class="formBtn" value="Punch me an Email" />
</fieldset>
</form>
JQuery的:
$(window).load(function(){
$('#contact').ajaxForm({
beforeSubmit:formValidate,
success: showResponse,
clearForm:true
});
});
function formValidate(){
$('#contact').validate({
rules:{
email:{required: true, email:true},
subject:{required: true, minlength: 5},
msg:{required: true, minlength: 50}
},
messages:{
email:'',
subject: '',
msg: ''
},
invalidHandler:function(){
$('div.error').hide();
},
focusInvalid:true,
onfocusout:false,
submitHandler: function() {
$('#contact').ajaxSubmit();
}
});
}
function showResponse(responseText,statusText,xhr,$form){
console.log(responseText);
// alert(responseText);
// $("#contact").toggle('slow');
}
我们走了。抱歉忘了把代码放在那里。 – robx 2011-05-17 20:33:40