0

我正在使用查询验证来验证用户在向我发送电子邮件之前是否填写了所有文本字段。这是我的表单 HTML:

<form class="email-form" action="php/email.php" method="POST" id="emailForm"> <br />
            <input type="text" class="required" placeholder="Your Name" /> <br />
            <input type="text" class="required" placeholder="Your Email" /> <br />
            <input type="text" class="required" placeholder="Subject" /><br />
            <textarea rows="10" class="required" ></textarea><br />
            <input type="submit" class="btn btn-primary required" />
</form>

还有我的 jQuery:

$(function() {
    $('#emailForm').validate();
});

然后我访问该页面并在不输入任何文本的情况下提交表单,并且只有第一个文本框会收到附加的错误消息。如果第一个文本框已填写,则表单将毫无问题地提交。有人可以帮我吗?谢谢

4

2 回答 2

3

每个输入都必须包含一个name属性,否则 jQuery Validate 插件将无法正常工作。

class="required"否则,在每个元素内使用并没有错。

试试这个:

HTML

<form class="email-form" action="php/email.php" method="POST" id="emailForm"> <br />
    <input type="text" name="yourname" class="required" placeholder="Your Name" /> <br />
    <input type="text" name="youremail" class="required" placeholder="Your Email" /> <br />
    <input type="text" name="subject" class="required" placeholder="Subject" /><br />
    <textarea rows="10" name="description" class="required" ></textarea><br />
    <input type="submit" class="btn btn-primary required" />
</form>

jQuery :

$(function() {
    $('#emailForm').validate();
});

工作演示:http: //jsfiddle.net/xSwfD/

于 2013-03-13T04:17:14.070 回答
1

删除第一个class=required,看看会发生什么?该表格现在将通过电子邮件验证。这样做的方法是在 html 中给出一个唯一的名称。我更喜欢这种方式,因为它为进一步定制提供了更大的灵活性:

<form class="email-form" action="php/email.php" method="POST" id="emailForm"> <br />
    <input type="text" name="name" placeholder="Your Name" /> <br />
    <input type="text" name="email" placeholder="Your Email" /> <br />
    <input type="text" name="subject" placeholder="Subject" /><br />
    <textarea rows="10" class="required small" ></textarea><br />
    <input type="submit" class="btn btn-primary" />
</form>
$(function() {

    $('#emailForm').validate({
           rules: {
                   name: "required",
                   email: "required",
                   subject: "required",
           }
   });

});

使用它,您可以使用消息和其他字段获得各种花哨。看到这个很好的教程

我正在玩的小提琴。

于 2013-03-13T03:34:01.010 回答