我希望在表单提交后才能调用远程调用,而不是在每次更改后验证值。这可能吗?
<input type="text" remote="validate_url.php" >
答案 0 :(得分:1)
你尝试过这样的事吗?设置远程字段以忽略并在提交表单时手动验证它。
$("#yourFormSelector").validate({
...
ignore: 'input[remote]',
submitHandler: function(form) {
if($(form).validate().element("input[remote]"))
form.submit();
else
alert("Nope. Remote failed");
}
});
答案 1 :(得分:1)
检查http://docs.jquery.com/Plugins/Validation/validate
如果您只想在提交时进行验证,则可以禁用其他事件:
$("#form").validate({
onsubmit: true,
onkeyup: false,
onclick: false,
onfocusout: false,
...
})
答案 2 :(得分:0)
<input type="text" remote="validate_url.php" id="place" name="place">
在JQuery页面加载中,我添加了以下内容:
$().ready(function() {
$("#form-id").validate({
onkeyup: false,
messages: {
place: {
required: "Please enter Place",
remote: jQuery.format("Please enter a valid Place or select one form the List")
}
}
});
});
这里我试图实现以下目标:(1)用户可以输入有效位置或(2)从列表中选择一个位置。
(开始输入自动提示时会列出匹配的地方)。现在,用户可以继续键入或从列表中选择一个。如果用户要从列表中选择一个,则“controll”从“文本框”中丢失并且“远程”验证开始&amp;在用户选择有效的地名之前返回错误..
实际上,当“控件不在文本框和自动提示列表中”时,我需要调用远程验证。自动提取值在类“autosuggestion”中。