我有一个使用以下内容发布数据的表单: “method =”post“enctype =”multipart / form-data“>
已发布的数据已执行一些计算,结果将反馈到表单字段。提交按钮称为计算。 如果(isset($ _ POST [ '计算']))
这很好用。但是,我添加了另一个名为Print的按钮,我想用它来发布数据以便在另一个页面上使用。 如果(isset($ _ POST [ '打印']))
有没有一种方法允许这个?单击“打印”按钮时,基本上将表单操作从PHP_SELF更改为newpage.php。
感谢。
答案 0 :(得分:0)
你能够做到这一点的唯一方法是使用javascript(很可能是jQuery)在单击按钮时更改表单的操作。
如果是我,我会将表单操作设置为您想要的打印按钮。然后使用jquery / ajax调用您的脚本(或者如果它们可以使用javascript完成,在客户端执行它们并将帖子保存到服务器),以便在单击该按钮时进行计算。
答案 1 :(得分:0)
使用JQuery发布了一个解决方案:
Jquery / Javascript change form action based on input field
除了使用纯Javascript之外,我可能会做一些非常相似的事情:
<script type="text/javascript">
<!--
function changeformaction(newact)
{
document.myformname.action=newact;
}
//-->
</script>
然后使用这样的东西:
<form name="myformname" action="Calculate.php" method="POST">
<input type="submit" name="Calculate" onclick="changeformaction('Calculate.php');">
<input type="submit" name="Print" onclick="changeformaction('Print.php');">
</form>
Alernatively你可以使用这样的隐藏字段:
<form name="myformname" action="Calculate.php" method="POST" onsubmit="this.action=document.myformname.hiddenaction.value;">
<input type="submit" name="Calculate" onclick="document.myformname.hiddenaction.value='Calculate.php';">
<input type="submit" name="Print" onclick="document.myformname.hiddenaction.value='Print.php';">
<input type="hidden" name="hiddenaction" value="">
</form>
尝试。