【问题标题】:2 submit buttons in a single form, main submit button not submitting values2个提交按钮在一个表单中,主提交按钮不提交值
【发布时间】:2014-01-31 23:23:42
【问题描述】:

在 WordPress 购物车表单中,我添加了地址搜索按钮作为提交按钮和另一个“下订单”提交按钮来提交所有字段值。两个提交按钮的格式相同。

如果我在下面添加,地址搜索功能可以正常工作。但是,第二次提交操作不能作为从插件和主题获取操作脚本。无法保存地址。

我们可以通过任何方式更改输入按钮类型以进行表单提交或更改地址触发操作

我使用的地址搜索jquery代码:

$("form.edit-address-details").submit(function(e) {
    e.preventDefault();
    var address = $("#billing_postcode").val();     
    $.ajax({
        url:        'http://gothere.sg/maps/geo',
        dataType:   'jsonp',
        data:       {
            'output'    : 'json',
            'q'         : address,
            'client'    : '',
            'sensor'    : false
        },
        type:   'GET',

.......

【问题讨论】:

    标签: jquery


    【解决方案1】:

    不要引用表单提交方法,而是尝试捕获表单按钮点击事件:

    $('#submit_button_1').click(function(e){
         e.preventDefault();
         ... your code...
    });
    $('#submit_button_2').click(function(e){
         e.preventDefault();
         ... your code...
    });
    

    【讨论】:

      【解决方案2】:

      假设你有 2 个按钮 1. id 为“addressSubmit” 2. id 为“getOthers”

      现在更改您的代码,如下所示。您还可以检查按钮标签。

      $("form.edit-address-details").submit(function(e) {
         if(e.target.id == "addressSubmit"){ // add this check here
          e.preventDefault();
          $.ajax({
              url:        'http://gothere.sg/maps/geo',
              dataType:   'jsonp',
              data:       {
                  'output'    : 'json',
                  'q'         : address,
                  'client'    : '',
                  'sensor'    : false
              },
              type:   'POST',
         }
      

      使用jquery你也可以这样做

      $(this).attr('value') == <BUTTON label> // instead of e.target.id
      OR
      $(this).attr('id') == <BUTTON ID>
      

      【讨论】:

      • 建议不要在不需要时使用 jQuery 包装对象。不应以这种方式访问​​属性。只需使用this.valuethis.id
      • 感谢您的评论。不知道。
      • 我最有价值的 jQuery 知识可能来自我给出的答案的 cmets。我希望我能回馈一些东西:)
      猜你喜欢
      • 1970-01-01
      • 2012-01-23
      • 1970-01-01
      • 2014-03-23
      • 2017-05-03
      • 2016-04-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多