【问题标题】:Adding fields to form with JQuery submit()使用 JQuery submit() 向表单添加字段
【发布时间】:2015-08-26 15:03:01
【问题描述】:

我正在尝试在使用 JQuery 提交表单之前将表单字段添加到表单。我已经尝试了以下 stackoverflow 问题,但没有奏效:

How to add additional fields to form before submit?

jQuery - add additional parameters on submit (NOT ajax)

如果我不向表单添加任何参数,则提交有效:

$('.submit_button').click(function(){
    $('#quote_form').submit();
});

上面的代码有效。但是,一旦我尝试添加一个字段,表单就不会被提交。它没有到达服务器。这是我正在使用的代码:

$('.submit_button').click(function(){
    console.log('1');
    $("#quote_form").submit( function(eventObj) {
      console.log('2');
      $(this).append('<input type="hidden" name="dog" value="rover" /> ');   
      return true;
    });
});  

第一个 console.log 出现在控制台中,但第二个没有。如何让这段代码工作?

【问题讨论】:

  • 没有提交表单是什么意思?您在网络标签中看到帖子了吗?
  • 网络标签中没有帖子。
  • 您永远不会提交表单。
  • 我知道。我试图弄清楚为什么表单没有提交。
  • 我的意思是你没有做任何事情让它提交:-)。请参阅下面的答案...

标签: javascript jquery ajax forms form-submit


【解决方案1】:

您没有提交表单。试试这个:

$("#quote_form").submit( function(eventObj) {
   $(this).append('<input type="hidden" name="dog" value="rover" /> ');   
   return true;
});

$('.submit_button').click(function(){
    $("#quote_form").submit();
});

$(..).submit(handler) 不提交,只为提交事件注册一个处理函数。您需要调用$(..).submit() 不带参数才能提交。

【讨论】:

  • 谢谢。除了我需要输入的信息是“this”IE“submit_button”之外,这是可行的,因为有两个按钮可以点击。
【解决方案2】:

第二个 console.log() 没有出现,因为你没有停止提交。

$('.submit_button').click(function(){
    console.log('1');
    $("#quote_form").submit( function(event) {
        event.preventDefault();
        console.log('2');
        $(this).append('<input type="hidden" name="dog" value="rover" /> ');     
        $("#quote_form").submit();
    });
});

希望对你有帮助!

【讨论】:

    猜你喜欢
    • 2012-04-18
    • 2012-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-17
    • 2011-08-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多