1

我正在努力使用 jQuery 验证脚本,其中我有一个需要许多元素的表单,它似乎忽略了最后一个 - 除非我在提交之前专注于它。我创建了一个更简单的示例,它复制了以下问题:

http://jsfiddle.net/nzRqZ/

<form id="testForm">
    <label>Type:</label>
    Sample Text 1: <input type="text" class="required"/><br>
    Sample Text 2: <input type="text" class="required"/><br>
    <button type="button" id="submitButton">Submit</button>
</form>
$(document).ready(function() {
    var validator = $('#testForm').validate({

    });

    $("#submitButton").click(function() {
        if (validator.form()) {
            alert("Validation passed");
        } 
    });    
});

只需打开页面并立即按下提交按钮,您将看到它仅将验证错误放在第一个元素上。然后在第一个输入中输入一些内容,但不要触摸第二个并再次点击提交。它将通过验证!即使我对他们两个都有要求!

4

1 回答 1

1

这不是一个错误,只是记录了它需要 name 属性。但无论如何,每个输入都应该有一个唯一的名称。

为了使验证插件正常工作,每个输入都需要 name 属性。

<form id="commentForm">
     <label>1</label><input name="1" type="text" class="required"/><br/>
     <label>2</label><input name="2" type="text" class="required"/><br/>
     <label>3</label><input name="3" type="text" class="required"/><br/>
     <label>4</label><input name="4" type="text" class="required"/><br/>
     <button type="submit" id="submitButton">Submit</button>
</form>

这是一个小提琴。

http://jsfiddle.net/VbWLU/

于 2013-04-09T18:40:54.290 回答