【问题标题】:Access form input values within jquery validate's submitHandler在 jquery validate 的 submitHandler 中访问表单输入值
【发布时间】:2016-10-07 14:17:55
【问题描述】:

如何在 jQuery validate() 的 submitHandler 回调中访问给定的表单输入?我有一个复杂的解决方案,但希望有更好的方法。

http://jsfiddle.net/1tzuojpg/2/

$(document).ready(function(){
    $("#myform").validate({
            submitHandler: function(form) {
                var inputs=$(form).find(':input');
                console.log('inputs',inputs);
                console.log('form',form,$(form),form.elements);
                console.log('this',this, $(this));
                //console.log( this.serializeArray() ); //this is not a jQuery object
                console.log( $( this ).serializeArray() );
                console.log( $( form ).serializeArray() );
                console.log( inputs.serializeArray() );
                alert(inputs.filter('[name=myName]').val());
            }
        });
  });

<form id='myform' >
   <input type='text' name='myName' value="123" />
   <input type="submit" value="submit">
</form>

【问题讨论】:

  • 您根本没有解释根本问题或您最终要达到的目标。通常使用 jQuery 的.serialize() 在提交之前获取表单的数据。否则,可以将单个输入作为目标并将其附加到 .val() 以获取其值。
  • 为什么是inputs.filter('[name=myName]').val() 而不是简单的$('[name=myName]').val()
  • @Sparky 通常,我使用.serialize(),就像你说的那样。然而,这一次,我希望获得几个表单输入的值并将它们添加到一个表中,并在发生其他事件时将它们发送到服务器。
  • 然后直接定位输入的值:$('input[name="myName"]').val()
  • @Sparky。绝对比我正在做的要好。谢谢!

标签: javascript jquery forms jquery-validate


【解决方案1】:

直接定位输入值:$('#myform input[name="myName"]').val()

演示http://jsfiddle.net/fz3ed89q/2/

使用内置的form 参数:$(form).find('input[name="myName"]').val()

演示http://jsfiddle.net/fz3ed89q/3/

【讨论】:

  • 我看到您的方法没有从 formthis 对象获取输入。一个问题是具有相同名称输入的多个表单。 jsfiddle.net/fz3ed89q/1
  • @user1032531,只是给选择器更多的特异性。请参阅编辑后的答案。顺便说一句-$(this) 对象不在submitHandler 中使用,因为它在那里没有上下文,如果你真的想使用form 参数:$(form).find('input[name="myName"]').val()
  • 也打算建议您的第二个解决方案。我认为它是最好的,但我对超级干净的解决方案感到惊讶。那好吧。感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 2015-08-29
  • 1970-01-01
  • 1970-01-01
  • 2012-06-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多