javascript - 提交按钮仅提交函数中的最后一个表单

时间:2018-04-03 20:16:44

标签: javascript forms submit

我有3种不同表格的提交按钮。我像这样提交他们

restaurantCreateForm = function(){
    document.getElementById("restaurant-features" ).submit();
    document.getElementById("information_form").submit();
    document.getElementById("restaurant-address").submit();
}

但是,该功能仅提交其中的最后一个表单。有谁知道错误是什么?我已经尝试将它们放在for循环中并逐个提交,但它仍然提交最后一个表单。

2 个答案:

答案 0 :(得分:0)

每当您提交表单时,浏览器都会向服务器发送一个帖子请求,并将呈现其响应。因此,当前页面将消失。这就是为什么你只能发送一个表格,因为页面将在之后停止存在。您可以使用AJAX执行后台请求,也可以将三个表单重构为一个,或者将一个表单重构为另一个表单。

答案 1 :(得分:0)

乔纳斯的回答涵盖了你的主要问题。此外,如果您的button元素位于您的某个表单元素中,则单击它时将默认提交该表单。你可以通过在按钮的onClick监听器中使用event.preventDefault()来防止这种情况,或者你可以通过将按钮放在表单元素之外来避免它。