我有一个表单,在提交后,还会使用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();
但没有快乐。
非常感谢任何帮助。
答案 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();