HTML:
<form class="allforms" method="POST" action="/auth/myaccount/personal">
<input type="hidden" name="_method" value="PATCH">
...
</form>
<button id="allsubmit" class="btn btn-info">Continue</button>
Run Code Online (Sandbox Code Playgroud)
jQuery的:
$(document).ready(function(){
$("#allsubmit").click(function(){
$('.allforms').submit();
});
});
Run Code Online (Sandbox Code Playgroud)
我在上面的html代码中有3个表单.我的按钮不在我的任何表格中.如何为我的所有表单提供一个提交按钮.我尝试了点击功能,但它不起作用.为什么?
表单提交是一个同步操作,因此当您提交表单然后立即在页面中提交其他表单时,第一个表单的提交将被取消.
你可以做的是确保表单是异步提交的(使用ajax):
$(function() {
$("#allsubmit").click(function(){
$('.allforms').each(function(){
valuesToSend = $(this).serialize();
$.ajax($(this).attr('action'),
{
method: $(this).attr('method'),
data: valuesToSend
}
)
});
});
});Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form class="allforms" method="POST" action="">
<input type="hidden" name="_method" value="PATCH1">
<input type="submit" />
</form>
<br />
<form class="allforms" method="POST" action="">
<input type="hidden" name="_method" value="PATCH2">
<input type="submit" />
</form>
<br />
<form class="allforms" method="POST" action="">
<input type="hidden" name="_method" value="PATCH3">
<input type="submit" />
</form>
<br />
<button id="allsubmit" class="btn btn-info">Continue</button>Run Code Online (Sandbox Code Playgroud)
几点说明
- 这不适用于具有文件上传的表单(enctype ="multipart/form-data")
- 提交完成后,您需要决定要做什么(因为页面中的任何内容都不会更改).
- 你不能在stackoverflow-snippets中提交表单,所以不要试图在这里运行:)
| 归档时间: |
|
| 查看次数: |
2778 次 |
| 最近记录: |