我已经创建了一个包含两个表单的PHP页面,但我希望这两个表单只有一个提交按钮.这些表格有ids firstform& secondform.我尝试过其他脚本,但它们并没有真正起作用.
这是我的代码如下:
<script language="javascript"> submitForms = function(){ document.getElementById("firstform").submit(); document.getElementById("secondform").submit(); } </script> <input type="image" src="images/order-button.png" name="button" value="Submit" onclick="submitForms()"/>
解决方法
你有几个问题
>输入类型=图像是一个提交按钮,因此您尝试从不存在的表单提交某些内容,可能与您所在的页面相同
>当你提交form1时,它会替换当前页面,如果你设法提交form2,它很可能会干扰form1的提交
这是你可以尝试(普通的JavaScript):
<script language="javascript"> function() submitForms{ document.getElementById("firstform").submit(); document.getElementById("secondform").submit(); } </script> <form id="firstform" target="iframe1"> </form><iframe name="iframe1" style="display:none"></iframe> <form id="secondform" target="iframe2"> </form><iframe name="iframe1" style="display:none"></iframe> <button onclick="submitForms()"><img src="images/order-button.png" "/></button>
或者AJAX一次一个表单(假设加载了jQuery)
$(document).ready(function() { $("#subbut").click(function() { $.post($("#firstform").attr("action"),$("#firstform").serialize(),function() { $.post($("#secondform").attr("action"),$("#secondform").serialize(),function() { alert('Both forms submitted'); }); }); }); });
更新:如果您希望将两个表单的内容提交给一个操作,只需添加序列号:
$(document).ready(function() { $("#subbut").click(function() { $.post($("#firstform").attr("action"),$("#firstform").serialize()+$("#secondform").serialize(),function() { alert('Both forms submitted'); }); }); });