我尝试了多种方法,通过在stackoverflow上搜索答案。
我有两种形式
表格1基本设置:
<form action="/post" class="frm-form" method="post" name="post"
onsubmit="return vB_Editior['text_editor'].prepare_submit(0,0)" id="quick_reply">
<textarea></textarea>
<input type="submit" name="post" value="Send">
</form>
表格2基本设置:
<form enctype="multipart/form-data" id="tagnotif" style="display:none;"
onsubmit="return vB_Editor['text_editor'].prepare_submit(0,0)" name="post2"
method="post" action="/privmsg">
<input id="username" class="post" type="text" tabindex="1" size="25"
name="username[]"style="margin:1px 0"><br />
<input id="acpro_inp10" class="post" type="text"
onkeypress="if (event.keyCode==13){return false}" title="" tabindex="2"
maxlength="64" size="45" value="You have been tagged" name="subject"><br />
<textarea id="textingnotification" rows="15" cols="9"
name="message" tabindex="3"></textarea>
<input type="hidden" value="" name="lt">
<input type="hidden" value="inbox" name="folder">
<input type="hidden" value="post" name="mode">
</form>
我只需要在第一张表格的SEND上提交这两个表格
尝试使用主要脚本使用此代码变量:虽然它不会同时通过,但它不会刷新页面...
$(document).ready(function() {
$('#quick_reply').ajaxForm(function() {
alert("Thank you for your submitting form 1");
});
$('#tagnotif').ajaxForm(function() {
alert("Thank you for your submitting form 2");
});
});
function mySubmitFunction() {
$("#quick_reply").submit();
$("#tagnotif").submit();
}
答案 0 :(得分:4)
我认为您不能从单个html页面执行两个常规发布请求,因为发布帖子涉及离开页面并遵循重定向响应。
如果您通过ajax提交表单,为什么不只是制作一个ajax按钮并抓住所需的参数来坚持请求? IE:
$.ajax({
type: 'POST',
dataType: 'JSON',
data: {param1: $('input#param1').val(), param2: $('input#param2').val()},
url: 'url to post to',
success: (your success callback function goes here)
})
答案 1 :(得分:1)
首先执行此操作,您需要从这两个表单中删除每个提交按钮 如果表单有提交按钮,则无效。
第一表格
<form action="/post" id="frm-form" class="frm-form" method="post" name="post"
onsubmit="return vB_Editior['text_editor'].prepare_submit(0,0)" id="quick_reply">
<textarea></textarea>
<input id="frm-submit" type="button" name="post" value="Send">
</form>
第二表格
<form enctype="multipart/form-data" id="tagnotif" style="display:none;"
onsubmit="return vB_Editor['text_editor'].prepare_submit(0,0)" name="post2"
method="post" action="/privmsg">
<input id="username" class="post" type="text" tabindex="1" size="25"
name="username[]"style="margin:1px 0"><br />
<input id="acpro_inp10" class="post" type="text"
onkeypress="if (event.keyCode==13){return false}" title="" tabindex="2"
maxlength="64" size="45" value="You have been tagged" name="subject"><br />
<textarea id="textingnotification" rows="15" cols="9"
name="message" tabindex="3"></textarea>
<input type="hidden" value="" name="lt">
<input type="hidden" value="inbox" name="folder">
<input type="hidden" value="post" name="mode">
</form>
JQuery的
$("#frm-submit").change(function(){
$("#frm-form").submit();
$("#tagnotif").submit();
});
这将刷新页面并提交两个表单