【问题标题】:Enable form select validation after re-enabling it with jQuery validation在使用 jQuery 验证重新启用表单选择验证后启用它
【发布时间】:2017-12-19 09:00:12
【问题描述】:

使用 jQuery 验证。如何确保 jQuery 验证最初禁用的输入,然后根据其他表单输入重新启用?

这似乎有点普遍,但我似乎无法找到答案。我有一个包含禁用选择下拉菜单的初始表单。一旦用户在表单中输入了一些其他信息,就会启用选择下拉菜单。当我提交表单时,它似乎没有验证最初禁用的“必需”选择下拉菜单。

谢谢。

【问题讨论】:

  • 你能分享你的示例代码吗?听起来这是事件委托的问题:learn.jquery.com/events/event-delegation
  • 你的代码在哪里?其次,jQuery Validate 插件在这种情况下会自动启用/禁用验证,因此如果没有您的代码,我们无法回答您的问题。

标签: jquery jquery-validate disabled-input


【解决方案1】:

Jquery 验证插件会自动执行此操作。检查以下示例:

$(document).ready(function() {

    $('#myform').validate({
        rules: {
            foo: {
                required: true
            },
            bar: {
                required: true
            }
        }
    });
    
    $('#enable').click(function(){
    	$('#bar').attr('disabled', false);
    });

});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.17.0/jquery.validate.min.js"></script>

<form id="myform">
    <input type="text" name="foo" />
    <br>
    <input type="text" name="bar" id="bar" disabled />
    <br>
    <a href="javascript:void(0);" id="enable">Enable It</a>
    <br>
    <input type="submit" />
</form>

【讨论】:

  • 感谢 Mayank。您的示例让我知道我正在使用 jQuery Validation 主页中默认的、开箱即用的 validate() 方法。此示例不包括特定的“规则”部分。虽然它适用于简单的情况,但主页示例方法不适用于我的页面。我所做的只是将“规则”添加到 validate() 并且它起作用了。非常感谢。
猜你喜欢
  • 2011-05-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-23
  • 1970-01-01
  • 2020-02-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多