jQuery -无法在Firefox中对表单提交调用aQuery

i1icjdpr  于 2023-10-17  发布在  jQuery
关注(0)|答案(4)|浏览(104)

我有一个表单,在提交时,它还将一些其他数据发送到服务器,其中包括:

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

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

这在Chrome中工作正常,但在Firefox中无法提交aplog调用。
我试过:

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

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

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

但没有快乐。

s4chpxco

s4chpxco1#

所以我实际上是这样解决这个问题的:

$('#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();
}

看起来你必须确保在submit可以工作之前完成了aplog调用。
感谢所有的输入!

a5g8bdjr

a5g8bdjr2#

除非continue-button是表单的id,否则它不会提交。我会坚持使用常规的JavaScript,它稍微轻一点,你需要的一切:

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

把它加到你的点击函数里,你就可以了。
编辑:只是重读并意识到你在firefox上没有成功的AJAX调用,这才是真正的问题。我的错
如果您正在向数据库发送信息,请尝试使用POST而不是GET。GET就是要做到这一点...获取信息,而不是提交。

j1dl9f46

j1dl9f463#

排队的时候...

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

变更:

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

你好...

gzjq41n4

gzjq41n44#

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

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

相关问题