拥有更多提交按钮的表单是否可以? 我的意思是我有一个包含一些输入字段和表格的表单 3个按钮,将以不同的格式导出一些信息
<form id="form1" name="form1" method="post" >
<label for="country"><strong>Countries: </strong></label><br />
<select id="country" name="country">
<?php
//some php code here
?>
</select>
<br />
<br/>
<label for="start_date"><strong>Start date: </strong></label><br />
<input name="start_date" type="text" id="start_date" value="<?php if(!empty($start))echo $start; ?>" size="20" />
<br />
<br />
<label for="stop_date"><strong>Stop date: </strong></label><br />
<input name="stop_date" type="text" id="stop_date" value="<?php if(!empty($stop)) echo $stop; ?>" size="20" />
<br />
<br />
<input type="submit" name="fill_table" value="Retrieve data" />
<div id="table">
<h1> </h1>
<hr />
<h2>Sales Report</h2>
<table class="display" id="data_table" >
<thead>
<tr>
<th>Product</th>
<th>Date</th>
<th>Quantity</th>
</tr>
</thead>
<tbody>
<?php
//some php code here
?>
</tbody>
</table>
<br />
<br />
<br />
<input type="submit" class="button" name="export_xls" value="Export xls" />
<input style="margin-left:10px;" type="submit" name="export_html" value="Export html" />
</form>
这样做是否可以,或者我应该制作3个表单,每个表单都有一个特定的提交按钮?每次按下提交按钮,我都会对输入字段感兴趣:start_date,stop_date和“country”中的所选项目。 附:我想知道它是否是最佳的以及其他程序员如何处理这些东西
答案 0 :(得分:2)
主要问题是:当用户在文本输入字段中按Enter键时会发生什么?在大多数浏览器中,表单数据都会被提交,但这是否与按下其中一个按钮相对应,哪一个?参见例如问题Multiple submit buttons in an HTML form。
每个表单只有一个提交按钮是最安全的。 (但是为了方便用户,将具有相同功能的提交按钮添加到长形式中是安全的。)这意味着用户可以通过使用单选按钮或选择菜单在备选方案(例如,输出格式)之间进行选择,而不是通过按钮之间的选择。但这并不总是实用的。
答案 1 :(得分:1)
我认为这不是一个坏主意。但是所有提交按钮必须具有相同的名称属性。
查看this
答案 2 :(得分:1)
是的,您可以在一个表单中添加更多提交按钮。由于你使用php来处理提交的表单,我不会像@NoZip建议的那样为每个提交按钮添加相同的名称,而是改为不同,所以然后在PHP处理部分代码中我会问:
<?php
if (isset($_POST["submitButtonName1"]))
some code here...
else if (isset($_POST["submitButtonName2"]))
some other code here...
else
code logic for no submit button clicked
?>
答案 3 :(得分:1)
我刚刚完成了一个系统,你可以在其中更新数据记录,我使用的一个功能是使用多个提交允许用户使用不同的选项“标记”更新。例如'主动','待定','禁用'。它保存了一个包含多个选项的下拉框,使系统保持直观。
具有不同值的多个提交按钮允许您提交表单,其中提交字段具有多个值中的一个,并且可以改进用户界面。另外,它的有效HTML。