2010-03-15 58 views
0

而不是在每次更改后验证值,我希望只有在表单提交后才能调用远程调用。这是可能的吗?JQuery远程仅在表单提交后验证

<input type="text" remote="validate_url.php" > 
+1

如果你打算表单提交后做验证,那将没有任何意义那么,还有什么可以验证表单是否提交?也许你没有表达你自己,你可以重新说 – ant 2010-03-15 13:07:47

+0

我认为他的意思是“在表单提交”,以便这个特定的输入字段只有当有人提交表单时验证,但如果远程验证失败提交isn' t执行 – jitter 2010-03-16 08:57:33

回答

1

如果像这样的东西有用吗?提交表单时,将远程字段设置为手动忽略并进行手动验证。

$("#yourFormSelector").validate({ 
    ... 
    ignore: 'input[remote]', 
    submitHandler: function(form) { 
     if($(form).validate().element("input[remote]")) 
      form.submit(); 
     else 
      alert("Nope. Remote failed"); 
    } 
}); 
+1

@jitter我删除了我的答案,评论它是.. – ant 2010-03-15 13:08:05

+0

有一个+1;) – jitter 2010-03-16 09:12:30

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)从列表中选择一个地方。

(当开始键入autosuggestion会列出匹配的位置)。现在用户可以继续输入或从列表中选择一种形式。如果用户要从列表中选择一个,则从“文本框”和“远程”验证中丢失的“controll”开始&在用户选择有效地名之前返回错误。

其实我需要调用当“控件不在文本框和自动清单列表中”时进行远程验证。自动建议值位于类“自动建议”内。