Mat*_*att 3 jquery jquery-validate
我在这里撕扯我的头发试图获得一个jquery验证,以便与我的表单很好地配合.
验证似乎不起作用.表单只是提交给页面.我可以简单地看到页面提交之前出现的验证错误消息...
我的代码:
//HTML form
<form id="form_scheduleEvent" name="form_scheduleEvent">
<label for="name">Name:</label><input class="short" type="text" name="name" id="name" />
<label for="address">Address:</label><input type="text" name="address" id="address" />
<label for="phone">Phone:</label><input type="text" name="phone" id="phone" />
<label for="comments">Comments:</label><textarea name="comments" id="comments" /></textarea>
<input type="submit" id="submitRequest" value="Add"/>
</form>
//jquery
//Validation rules
$('#form_scheduleEvent').validate({
rules: {
name : {required: true, maxlength: 45},
address : {required: true, maxlength: 45},
phone : "required"
}
});
$('#submitRequest').click(function(){
$.ajax({
type: "POST",
url: "common/ajax_event.php",
data: formSerialized,
timeout:3000,
error:function(){alert('Error');},
success: function() {alert('It worked!');}
});
return false;
});
Run Code Online (Sandbox Code Playgroud)
我尝试更新到jquery和jquery.validation的最新版本....
任何帮助,将不胜感激!谢谢.
更新
//The validation is working, but I can't even get the alert to show....
$('#form_scheduleEvent').validate({
rules: {
name : {required: true, maxlength: 45},
address : {required: true, maxlength: 45},
phone : "required",
submitHandler: function(){
alert('test');
}
}
});
Run Code Online (Sandbox Code Playgroud)
谢谢大家的回复。
我最终将原始代码的 ajax 调用部分包装在以下代码中:
if($('#form_scheduleEvent').valid() == true){
//Process ajax request...
}
return false;
Run Code Online (Sandbox Code Playgroud)
您应该将您的AJAX提交调用移动到由validate插件中的submit回调触发:
$('#form_scheduleEvent').validate({
rules: {
name : {required: true, maxlength: 45},
address : {required: true, maxlength: 45},
phone : "required",
submitHandler: function(form) { DoSubmit(); }
}
});
function DoSubmit(){
$.ajax({
type: "POST",
url: "common/ajax_event.php",
data: formSerialized,
timeout:3000,
error:function(){alert('Error');},
success: function() {alert('It worked!');}
}
Run Code Online (Sandbox Code Playgroud)
如果您放置了没有匹配方法的规则,则可能会发生这种情况,请参阅并投票支持我的错误报告。https://github.com/jzaefferer/jquery-validation/issues/1212
| 归档时间: |
|
| 查看次数: |
10621 次 |
| 最近记录: |