1

我在表单上有一些带有基本规则的字段,并且验证器插件在填写表单本身时效果很好。但是,提交它有一个问题,因为即使没有输入有效的电子邮件地址或在其他文本框中输入任何内容之前,它仍然会提交。

这是我的测试功能:

$(function() {

    $("#submit_form_contact").validate({
        errorLabelContainer: '#errors'
    });

    $('#contact_submit').click(function(e){

        if ($("#submit_form_contact").valid()) {
            alert ('valid!');
        } else {
            alert ('invalid!');
        }
    });
});

HTML:

<form class="pure-form pure-form-aligned" id="submit_form_contact" novalidate>
  <fieldset>
    <div class="pure-control-group">
      <label for="name">Your Name:</label>
      <input id="name" type="text" placeholder="Name" required>
    </div>

    <div class="pure-control-group">
      <label for="email">Your Email:</label>
      <input id="email" type="email" placeholder="Email Address" required>
    </div>

    <div class="pure-control-group">
      <label for="email_text">Inquiry Type: </label>
      <select id="inquiry_dropdown" class="pure-input-1-2">
        <option>General</option>
        <option>Sales & Marketing</option>
        <option>Press & Editorial</option>
      </select>
    </div>

    <div class="pure-control-group">
      <label for="message" style="vertical-align: top;">Message:</label>
      <textarea id="message" type="text" placeholder="Enter message here..." required></textarea>
    </div>                      

    <div id="errors" style="text-align: center; color: red;"></div>

    <button id="contact_submit" class="pure-button pure-button-primary" style="background-color: #003A70; float:right; margin-right: 35px;margin-top:15px;">Submit</button>
</div>
</fieldset>
</form>

...它仍然每次都警告为有效。表格中的所有字段都标记为“必填”。任何帮助将非常感激。JSFiddle:http: //jsfiddle.net/RcNTj/

4

1 回答 1

4

id将属性更改为name并尝试

<input name="name" type="text" placeholder="Name" required>

演示:小提琴

于 2013-09-21T15:59:36.163 回答