JQuery - 无法在Firefox中的表单提交上调用ajax

时间:2013-01-29 19:14:09

标签: jquery firefox

我有一个表单,在提交后,还会使用ajax将一些其他数据发送到服务器:

$('#continue-button').on("click", function(e){
    updateSessionVariables();
});

function updateSessionVariables(){
    $.ajax({
        type: "GET",
        url: update_bom_vars,
        data: myVars
    });
});

这在Chrome中可以正常使用,但不会在Firefox中提交ajax调用。

我试过了:

$('#continue-button').on("click", function(e){
    e.preventDefault();
    updateSessionVariables();
});

现在,这会正确发送数据,但表单不会提交。我甚至补充道:

     $('#continue-button').submit();

但没有快乐。

非常感谢任何帮助。

4 个答案:

答案 0 :(得分:1)

所以我实际上解决了这个问题:

$('#continue-button').on("click", function(e){
    e.preventDefault();
    updateSessionVariables();
});

function updateSessionVariables(){
    $.ajax({
       type: "GET",
       url: update_bom_vars,
       data: myVars
       success: ajaxComplete
    });
});

function ajaxComplete(){
    $('#parts-form').submit();
}

在提交可行之前,您似乎必须确保ajax调用已完成。

感谢您的所有输入!

答案 1 :(得分:0)

除非“继续”按钮是表单的ID,否则它不会提交。我会坚持使用常规JavaScript,它更轻一点,你需要的只是:

document.getElementById('formId').submit();

在你的点击功能中加上你应该是好的。

编辑:重新阅读并意识到你没有在firefox上成功调用AJAX,这才是真正的问题。我的坏。

如果要向数据库发送信息,请尝试使用POST而不是GET。 GET意味着这样做......获取信息,而不是提交信息。

答案 2 :(得分:0)

在线......

$('#continue-button').submit();

更改:

$('#myFormId').submit();

...问候

答案 3 :(得分:0)

您必须提交表单,而不是按钮:

$('#formwithid').submit();