javascript - 提交按钮仅提交函数中的最后一个表单
javascript - submit button only submit last form in function
我有一个用于 3 种不同表单的提交按钮。我这样提交
restaurantCreateForm = function(){
document.getElementById("restaurant-features" ).submit();
document.getElementById("information_form").submit();
document.getElementById("restaurant-address").submit();
}
但是,该函数只提交其中的最后一个表单。有谁知道错误是什么?我试过将它们放在一个for循环中并一个一个地提交,但它仍然提交最后一个表格。
每当您提交表单时,浏览器都会向服务器发送 post 请求,并呈现其响应。因此当前页面将消失。这就是为什么您只能发送一份表格,因为该页面将在之后停止存在。您可以改为使用 AJAX 进行后台请求,或者将三种形式重构为一种形式,或者重构为一种接一种形式。
Jonas 的回答涵盖了您的主要问题。此外,如果您的按钮元素位于您的表单元素之一内,则在单击时它将默认提交该表单。您可以通过在按钮的 onClick 侦听器中使用 event.preventDefault()
来防止这种情况,或者您可以通过将按钮放在表单元素之外来避免这种情况。
我有一个用于 3 种不同表单的提交按钮。我这样提交
restaurantCreateForm = function(){
document.getElementById("restaurant-features" ).submit();
document.getElementById("information_form").submit();
document.getElementById("restaurant-address").submit();
}
但是,该函数只提交其中的最后一个表单。有谁知道错误是什么?我试过将它们放在一个for循环中并一个一个地提交,但它仍然提交最后一个表格。
每当您提交表单时,浏览器都会向服务器发送 post 请求,并呈现其响应。因此当前页面将消失。这就是为什么您只能发送一份表格,因为该页面将在之后停止存在。您可以改为使用 AJAX 进行后台请求,或者将三种形式重构为一种形式,或者重构为一种接一种形式。
Jonas 的回答涵盖了您的主要问题。此外,如果您的按钮元素位于您的表单元素之一内,则在单击时它将默认提交该表单。您可以通过在按钮的 onClick 侦听器中使用 event.preventDefault()
来防止这种情况,或者您可以通过将按钮放在表单元素之外来避免这种情况。