一个表单和两个动作和两个提交在PHP中
在用户可以selectdate和时间的项目上进行select,然后select其中一个收音机。 之后,selectPDF或Excel生成首选格式。
问题是表单,如果按下了excel,我希望它能够执行generateExcel.php,如果按下了PDF,则需要generatePdf.php。 这是我到目前为止,还没有工作:
<form action='generatePdf.php' method='Post'/> Fra Dato: <input type="text" name="fraDato" value="<?php echo date('dm-Y'); ?>" /> Til Dato: <input type="text" name="tilDato" value="<?php echo date('dm-Y'); ?>"> <br> <input type="radio" name="hent" value="timesmaling">Times malinger<br> <input type="radio" name="hent" value="tredjetimesmaling">Tredje times malinger <br> <input type="radio" name="hent" value="oppgaver">Oppgaver <br> <input type="radio" name="hent" value="dagvakt">Dagvakt <br> <input type="radio" name="hent" value="kveldsvakt">Kveldsvakt <br> <input type="radio" name="hent" value="kontrollcm">Kontroll CM <br> <input type='submit' name='pdf' value='PDF'> <form action='generateExcel.php' method='Post'/> <input type='submit' name='excel' value='excel'> </form>
可以使用button上的HTML5 formaction属性来覆盖父表单的action属性。 见https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button
<input type='submit' name='pdf' value='PDF' formaction='generatePdf.php'> <input type='submit' name='excel' value='excel' formaction='generateExcel.php'>
浏览器支持看起来不错: http : //www.wufoo.com/html5/attributes/13-formaction.html
但是,webeno的答案肯定会适用于所有的浏览器,并且在一个文件中pipe理所有的表单处理代码会更容易。
我build议你把你的两个脚本放在同一个文件上,然后根据点击的button进行validation。
编辑:如果你的2个文件太大(或者你想保持他们分开的任何其他原因),你仍然可以使用include
(或require
– 更多信息的差异: “include”和“要求”之间的区别)。
原始文件:
<form action='generate.php' method='Post'> <!-- removed the slash from the end here --> Fra Dato: <input type="text" name="fraDato" value="<?php echo date('dm-Y'); ?>" /> Til Dato: <input type="text" name="tilDato" value="<?php echo date('dm-Y'); ?>"> <br> <input type="radio" name="hent" value="timesmaling">Times malinger<br> <input type="radio" name="hent" value="tredjetimesmaling">Tredje times malinger <br> <input type="radio" name="hent" value="oppgaver">Oppgaver <br> <input type="radio" name="hent" value="dagvakt">Dagvakt <br> <input type="radio" name="hent" value="kveldsvakt">Kveldsvakt <br> <input type="radio" name="hent" value="kontrollcm">Kontroll CM <br> <input type='submit' name='pdf' value='PDF'> <input type='submit' name='excel' value='excel'> </form>
generate.php:
if (isset($_POST['pdf'])) { include('generatePdf.php'); } if (isset($_POST['excel'])) { include('generateExcel.php'); }
EDITED
另外,你可以在这个单独的文件上使用redirect( generate.php
– 确保这个页面上没有其他东西):
if (isset($_POST['pdf'])) { header('Location: generatePdf.php'); } if (isset($_POST['excel'])) { header('Location: generateExcel.php'); }