【问题标题】:jQuery; Submit Form if Required Fields Filled in and Other Combinations Are TruejQuery;必填项填写且其他组合为真时提交表单
【发布时间】:2010-12-26 00:48:11
【问题描述】:

我有一个包含几十个字段的表单。有些是必需的,有些不是。使用必填字段,我已将class="required" 添加到项目中

我找到了这个 sn-p 的代码,想知道如何调整它

$('#form').submit (function() {
  if(formValidated())
    return true;
  return false;
});

我只想提交所有具有class="required" 的字段都已填写(即不为空)的表单。我该怎么做?

此外,我有很多单选按钮,如果选择了“Yes”(默认为“No”),则会出现类似于以下内容的文本区域

$("#rb_name_yes").click(function(){  
  $('#textarea_name').show();
});

我想我可以把它改成

$("#rb_name_yes").click(function(){  
  $('#textarea_name').show();
  $(this).addClass('required');
});

并更改代码以将文本区域隐藏为

$("#rb_name_no").click(function(){  
  $('#textarea_name').hide();
  $(this).removeClass('required');
});

这有意义吗?

提前致谢

【问题讨论】:

    标签: jquery validation forms submit


    【解决方案1】:

    我认为您正在寻找的是 jQuery.validation。您可以在 jQuery 网站上找到有关它的信息。

    【讨论】:

    • 你的意思是插件还是jQuery内置了类似的东西?
    • 我的意思是插件。但是,该文档位于 jQuery 主站点上。
    【解决方案2】:

    如果您不是在寻找像验证插件这样的复杂解决方案,您可以使用以下内容:

    function formValidated( $form ){
        var empty = 0;
        $(':input,:select', $form).each(function(){
            if( !$(this).val() )
                empty++;
        });
        return (( empty==0 ) ? true : false );
    }
    

    这不是完美无缺的,它可以改进。 希望对您有所帮助。

    【讨论】:

    • 我将如何使用验证插件?我想向字段项添加一个类,而不是在旁边添加文本
    • $("#myformname").validate();我试过了,但添加了 text 。我不需要文本,而是想做它所做的事情,但不添加文本,只添加要更新为“错误”的类名,但不知道如何做到这一点
    • 这是定制的,不涉及验证插件。
    • "我只想提交所有包含 class="required" 字段的表单,即不为空。我该怎么做?"我的代码正是这样做的,您只需要更改选择器以符合您的要求。
    猜你喜欢
    • 2017-08-31
    • 2013-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-22
    相关资源
    最近更新 更多