【发布时间】:2015-08-16 19:26:01
【问题描述】:
我制作了一个包含多个部分的表单,后面的部分被隐藏,但会在用户单击当前部分的下一步按钮后显示。在显示表单的其余部分之前,我尝试在此单击上进行简单的“必须填写”验证。
据我可以从这里的其他问题收集到的,我的方法应该可以工作.. var validate 应该等于 true 如果发现错误,这将停止表单的进展,但一旦字段完成,表单将允许进展填充并再次单击按钮
然而,目前这一切似乎只是验证第一个字段,然后什么都不做。即使该字段有效,它仍然不会继续执行该函数的其余操作。
js 库:http://cdn.jsdelivr.net/jquery.validation/1.14.0/jquery.validate.min.js
我尝试使用的方法:http://jqueryvalidation.org/Validator.element/
<div class="col-sm-8 sec-one">
<div class="form-group">
<select name="t1" required>
<option value="" disabled selected>Choose an option...</option>
<option value="B">B</option>
<option value="C">C</option>
<option value="A">A</option>
<option value="D">D</option>
</select>
</div>
<div class="form-group">
<select name="t2" required>
<option value="" disabled selected>Choose an option...</option>
<option value="A">A</option>
<option value="D">D</option>
<option value="B">B</option>
<option value="C">C</option>
</select>
</div>
<button type="button" class="formbut next1">Next</button>
</div>
var validator = $("form").validate();
$(".next1").click(function () {
validator.element('.sec-one [name]');
if (validator) {
$(".sec-one").slideUp("slow", function () {
$(".sec-two").slideDown("slow");
});
} else {}
});
【问题讨论】:
-
“据我可以从这里的其他问题收集到,我的方法应该可以工作。如果发现错误,
var validate应该等于true” ~ 我是不知道你在哪里看到的。请参考the official website 并简单地使用.valid()方法来test 表单。true表示 no 错误。否则,如果存在 no 错误,$('#yourform').validate().element()将返回true。在您的代码中,您已从条件中删除了element()部分。 -
@Sparky 为这个欢呼.. 你能发布正确的方法作为答案然后我可以给你信用吗?对其他用户也有用
标签: javascript jquery forms jquery-validate