繁体   English   中英

一键提交两种表格? (其他类似问题提供的解决方案对我不起作用)

[英]How do I submit two forms with one button? (the solutions provided by other similar issues are not working for me)

我有2份表单(将来还会有2份表单)需要提交。 现在,单击“提交”按钮时,它将仅在同一可折叠部分中提交表单。 因此,我需要在这些部分之外的“全部提交”按钮来提交所有表单。

我已经尝试实现AJAX,并尝试了该链接中的解决方案。 使用一个按钮提交两个表单 ,但是它仍然对我不起作用。

 submitForms = function(){ document.getElementById("form1").submit(); document.getElementById("form2").submit(); } 
 <html> <body> <form id="form1" action="<?php echo htmlspecialchars(basename($_SERVER['REQUEST_URI'])); ?>" method="post"> <div style="background-color:lightblue" class="form-group <?php echo (!empty($answer_err)) ? 'has-error' : ''; ?>"> <label><?php echo $question; ?></label> <input type="text" name="answer[]" class="form-control" value="<?php echo $answer; ?>"> <span class="help-block"><?php echo $answer_err;?></span> <input type="hidden" name="consideration_no[]" value="<?php echo $consideration_no; ?>"/> <input type="hidden" name="dg_no" value="<?php echo $dg_no; ?>"/> </div> <input type="Submit" name = "$consideration_no[]" class="btn btn-primary" onclick="submitForms()" value="Submit"> <a href="javascript:history.go(-1)" class="btn btn-default">Cancel</a> </form> </div> <form id="form2" action="<?php echo htmlspecialchars(basename($_SERVER['REQUEST_URI'])); ?>" method="post"> <div class="form-group <?php echo (!empty($answer_err)) ? 'has-error' : ''; ?>"> <label><?php echo $question; ?></label> <input type="text" name="answer[]" class="form-control" value="<?php echo $answer; ?>"> <span class="help-block"><?php echo $answer_err;?></span> <input type="hidden" name="consideration_no[]" value="<?php echo $consideration_no; ?>"/> <input type="hidden" name="dg_no" value="<?php echo $dg_no; ?>"/> </div> <input type="Submit" name = "$consideration_no[]" class="btn btn-primary" onclick="submitForms()" value="Submit"> <a href="javascript:history.go(-1)" class="btn btn-default">Cancel</a> </form> </div> <input type="button" value="Submit All!" onclick="submitForms()" /> </body> </html> 

当我单击最后一个按钮“全部提交”时,没有任何反应。 html表单位于if内和while循环脚本中,但是我怀疑这会影响什么吗? (我欢迎通过一个按钮提交这两种形式的其他方法和想法。)

------------更新------------------------

我尝试删除操作并使用了它:

 submitForms = function(){ 
 document.getElementById("form1").submit(); 
 document.getElementById("form2").submit(); 
 }

它也行不通。 在我的POST处理程序中,它具有:

 if($stmt->execute()){ 
 //Records Submitd successfully. Redirect to landing page 
 header("location: home1.php?dm_no=".$_GET["dm_no"]); 
 exit();

重定向是否会影响AJAX无法提交两种表格? 但是,即使它不能并且只能提交一个,我仍然会重定向到另一个页面。 目前,该按钮似乎无任何作用。

我认为一键提交两个表格是不可能的。 因为表单在给定的表单操作上重定向,所以如果您通过两个操作提交两个,则系统将无法重定向两个不同的操作。 但是您可以通过执行ajax调用来实现此目的,例如:

<input type="button" value="Submit All!" onclick="submitForms()" />

<script>
    function submitForms() {
        $("#form1").ajaxForm({url: 'server.php', type: 'post'})
        $("#form2").ajaxForm({url: 'server.php', type: 'post'})
    }
</script>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM