【问题标题】:Abide disable button and enable on validation in Zurb Foundation在 Zurb Foundation 中遵守禁用按钮并启用验证
【发布时间】:2015-12-02 23:45:19
【问题描述】:

我对foundation abide有点熟悉,我想知道如何禁用按钮并在用户键入时对其进行验证并更改按钮以启用提交。

表格示例:

<form data-abide>
  <div class="name-field">
    <label>Your name <small>required</small>
      <input type="text" required pattern="[a-zA-Z]+">
    </label>
    <small class="error">Name is required and must be a string.</small>
  </div>
  <div class="email-field">
    <label>Email <small>required</small>
      <input type="email" required>
    </label>
    <small class="error">An email address is required.</small>
  </div>
  <input id="contactsubmit" class="button" type="submit" value="SEND" disabled>
</form>

禁用:

 <input id="contactsubmit" class="button" type="submit" value="SEND" disabled>

现在,当用户继续输入时,我希望它得到验证,如果一切正确,启用按钮,我知道我可以使用 jQuery .change() 做到这一点,但是有什么标准的遵守方式吗?

我做了很多研究,但我没有看到我想要实现的目标,我可以通过引导验证而不是基础来实现。

更新

这是我使用 bootstrap 实现我想要的插件,Validator.js

【问题讨论】:

    标签: javascript jquery html css zurb-foundation


    【解决方案1】:

    不是您要查找的内容,因为除非您的表单经过验证,否则大多数表单都无法提交。听看表单是否验证然后启用提交按钮似乎有点矫枉过正。

    因此data-abide 在创建时就考虑到了这一点

    如果触发了提交事件,则会触发valid.fndtn.abide 事件 当表单有效并触发invalid.fndtn.abide 事件时 当表单无效时。

    考虑到这一点,我会启用按钮,然后

    $(form)
     .on('invalid.fndtn.abide', function () {
      var invalid_fields = $(this).find('[data-invalid]');
     // tell the user that invalid fields must be fixed before submit
     })
     .on('valid.fndtn.abide', function () {
    // your submit action here.
     });
    

    如果您想更改验证工作,/foundation.abide.js 中有一个选项

     Abide.defaults = {
    validateOn: 'fieldChange', // options: fieldChange, manual, submit
    

    尝试将其更改为手动,看看它是否像旧版本中的“abide : {live_validate : true, // validate the form as you go”一样工作

    【讨论】:

    • 使用.change()怎么样?而不是.on(),我尝试了它,但它会不断验证每一个变化,一旦两者都得到验证,我需要它来做。
    • 那根本行不通!- 我已经更新了一些额外的选项
    • 如果你看到这个插件,Validator.js,有人实现了我想做的事情。当您滚动时,有一个禁用选项,它会禁用按钮,直到表单被验证。 .
    • @Farhad 但这是引导程序。和基金会没有任何关系
    【解决方案2】:
    <a href="#" class="button disabled">Disabled Button</a>
    

    【讨论】:

    • 这实际上什么也没做。但是添加 disabled 属性可以。
    • 您还应该添加验证以重新启用它
    猜你喜欢
    • 2013-08-08
    • 2013-08-28
    • 2015-06-23
    • 2016-03-02
    • 2017-11-07
    • 1970-01-01
    • 1970-01-01
    • 2013-11-29
    • 2013-03-12
    相关资源
    最近更新 更多