【问题标题】:jQuery - select inputs for specific form on page with multiple formsjQuery - 为具有多个表单的页面上的特定表单选择输入
【发布时间】:2014-01-18 08:49:25
【问题描述】:

在我的页面上,我有多种不同用途的表格。我只想验证其中一种形式。所以我想遍历这个表单的输入并检查它们中的每一个。问题是,当我遍历输入时,我也会看到来自其他表单的输入。

例子:

<form id="form1" name="form1" method="get" action="#">
<input type="text" name="test1" id="test1"/>
<input type="text" name="test2" id="test2"/>
</form>

<form id="form2" name="form2" method="get" action="#">
<input type="text" name="test3" id="test3"/>
<input type="text" name="test4" id="test4"/>
</form>

<script>
jQuery('#form2').submit(function( event ) {
    validate_form(this);
    event.preventDefault();
});

function validate_form(form){
    jQuery(form+':input').each(function(){
        console.log(jQuery(this).attr('id'));
    });
}
</script>

输出将是:

测试1 测试2 测试3 测试4

我想看到的是:

测试3 测试4

有什么想法吗?非常感谢。

【问题讨论】:

    标签: jquery html forms validation loops


    【解决方案1】:

    您可以通过提交表单的id来获得您的预期结果。

    试试,

    jQuery('#form2').submit(function( event ) {
        validate_form($(this).attr('id'));
        event.preventDefault();
    });
    

    【讨论】:

      【解决方案2】:

      你需要使用.find()

      function validate_form(form){
          jQuery(form).find(':input').each(function(){
              console.log(jQuery(this).attr('id'));
          });
      }
      

      【讨论】:

        【解决方案3】:

        我认为以下 jQuery 代码可以正常工作:

        jQuery('#form2').submit(function( event ) {
            validate_form(this);
            event.preventDefault();
        });
        
        function validate_form(form){
            jQuery(form).children('input').each(function(){
                console.log(jQuery(this).attr('id'));
            });
        }
        

        【讨论】:

          【解决方案4】:

          试试下面的

           jQuery('#form2').submit(function( event ) {
                  validate_form($(this));
                  event.preventDefault();
              });
          
              function validate_form(form){
                  jQuery(form).find(':input').each(function(){
                      console.log(jQuery(this).attr('id'));
                  });
              }
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2013-08-15
            • 1970-01-01
            • 2011-09-22
            • 2014-08-07
            • 2021-03-14
            • 2014-07-09
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多