【问题标题】:jquery get form values, multiple formsjquery获取表单值,多个表单
【发布时间】:2010-07-21 15:22:07
【问题描述】:

我在页面上有多个表单,我需要获取提交的表单的值,但没有指定表单。

$(document).ready( function (){
 $('form').submit( function(){
       return submitForm()
 });

});

并且在 .js 文件中 submitForm() 应该标识提交的表单的 id。怎么可能?

我得到了表单[0]的值,而不是被点击的那个

【问题讨论】:

    标签: jquery forms


    【解决方案1】:

    不确定submitForm() 是做什么的,但我假设您在其中使用了this

    如果是这样,请尝试:

     $('form').submit( function(){
           return submitForm.call( this );
     });
    

    这样做应该会将被点击的表单的上下文发送到submitForm() 调用。

    所以在submitForm() 中,您可以使用this 来引用正确的形式,或者在jQuery 对象中使用$(this)


    编辑:

    这是我的意思的一个例子:http://jsfiddle.net/pXwTE/

    【讨论】:

      【解决方案2】:

      您可以像这样将每个表单的 id 传递给您的 submitForm 函数:

      $j(document).ready( function (){
          $j('form').submit( function(){
             return submitForm($j(this).attr('id'));
          });
      
      });
      

      要获取所有值,具体取决于您需要对它们执行的操作,您可以像这样使用序列化:

      $j(document).ready( function (){
          $j('form').submit( function(){
             alert($j(this).serialize());
          });
      });
      

      或者您可以像这样遍历表单的所有输入:

      $j(document).ready( function (){
          $j('form').submit( function(){
              $j(':input', this).each(function(){
                 alert($j(this).val());
             });
          });
      });
      

      我为此创建了一个小提琴:http://jsfiddle.net/2HRjF/1/

      【讨论】:

        猜你喜欢
        • 2012-07-24
        • 2022-07-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多