【问题标题】:Submit Form after Calling getJSON in jQuery在jQuery中调用getJSON后提交表单
【发布时间】:2014-06-18 17:16:32
【问题描述】:

我有表格:

$('#ambition_submit').click(function(e){
    e.preventDefault();
    var output = getTimelineEntryData(data.toJSON());//console.log(output);
    $.getJSON('http://www.x.com/x/api/add_subgoals.php',{action:'add.subgoals',ambition_id:ambition_id,subgoals:output}, function (response) {
        //var this_url = this.url; console.log(this_url);
        if (response.status == 200) {
            var result = response.message;//alert(response.message);
            $('#form_content').submit();
            $('form[name=testing747]').submit();//console.log('Test ' + $('form[name=testing747]').length);
        }
        else{
            alert(response.message);
        }
    });
});

提交时我希望 ajax 运行并在完成时提交表单。无论 ajax 的结果如何,我怎样才能让表单明确提交?

谢谢

【问题讨论】:

  • 所以你同时提交了两个表单。
  • @Jai 不,我只是想展示我已经尝试过的东西。它们都指向同一个表单。
  • '#ambition_submit' 是输入类型="submit" 吗?如果是,请将其更改为常规按钮,因此当您 .submit() 表单时,它不会阻止默认行为
  • @Chris 你可以使用.always() 回调,它适用于成功或错误

标签: jquery html ajax forms getjson


【解决方案1】:

所以这是个问题:

无论 ajax 的结果如何,我怎样才能让表单明确提交?

为此,您可以使用 .always(),它适用于 both success and error 方法来链接您的 ajax,例如:

  $('#ambition_submit').click(function (e) {
      e.preventDefault();
      var output = getTimelineEntryData(data.toJSON()); //console.log(output);
      $.getJSON('http://www.x.com/x/api/add_subgoals.php', {
          action: 'add.subgoals',
          ambition_id: ambition_id,
          subgoals: output
      }, function (response) {
          //var this_url = this.url; console.log(this_url);
          if (response.status == 200) {
              var result = response.message; //alert(response.message);
          } else {
              alert(response.message);
          }
      }).always(function () {
          $('#form_content').submit();
          $('form[name=testing747]').submit(); //console.log('Test ' + $('form[name=testing747]').length);
      });
  });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-07
    • 1970-01-01
    • 2014-04-17
    • 2012-07-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多