我正在使用jQuery表单验证插件。
我遇到的问题是,如果表单无效,我点击提交,每次在屏幕上显示每个字段的另一条错误/成功消息。基本上显示错误/成功消息的历史记录,直到表单有效。
为什么会发生这种情况,如何修复它以便只显示最新的错误/成功消息?
以下是头部的代码:
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript" src="http://dev.jquery.com/view/trunk/plugins/validate/lib/jquery.delegate.js"></script>
<script type="text/javascript" src="http://dev.jquery.com/view/trunk/plugins/validate/jquery.validate.js"></script>
<script type="text/javascript">
jQuery.validator.setDefaults({
debug: false,
success: "valid"
});;
</script>
<script>
$(document).ready(function(){
$("#myform").validate({
rules: {
file: "required",
name: "required",
owner: "required"
}
});
});
</script>
这是表格(略有简化):
<form id="myform" action="upload" method="post" enctype="multipart/form-data">
Select file to upload: *
<input type="file" name="file" id="file" title="Please select a file to upload">
Name for file: *
<input type="text" name="name" value="{{ name }}" id="new_file_name" title="Please choose a filename">
Select owner for file: *
<select name="owner" id="owner" title="Please select an owner">
<option value="">[ Choose an owner ]</option>
...options generated by template system...
</select>
File comments:
<textarea rows="5" cols="20" name="comments">{{ comments }}</textarea>
<input type=submit value=Upload>
</form>
修改:
表格在我原来的html中的表格内。仅当表单在表中时才会出现此错误。
答案 0 :(得分:0)
对我来说工作正常:http://jsfiddle.net/ryleyb/H6rQT/
你能看一下我的例子,与你正在做的事情进行比较,看看你的事情是否有所不同?我的第一个猜测是你在点击某个地方调用验证功能,而不是只在document.ready()
中调用一次......