有一个包含更多提交按钮的表单可以吗?我的意思是,我有一个包含一些输入字段和一个表的表单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"中的所选项目。附言:我想知道它是否是最优的,以及其他程序员将如何处理这些东西
主要问题是:当用户在文本输入字段中按Enter键时会发生什么?在大多数浏览器上,表单数据都会被提交,但这是否对应于按下其中一个按钮,以及按下哪个按钮?例如,请参阅问题HTML表单中的多个提交按钮。
每个表单只有一个提交按钮是最安全的。(但是,为了方便用户,将具有相同功能的提交按钮添加到长表单中是安全的。)这意味着用户可以通过使用单选按钮或选择菜单在备选方案(如输出格式)之间进行选择,而不是在按钮之间进行选择。不过,这并不总是切实可行的。
我不认为这是个坏主意。但是所有提交按钮都必须具有相同的name属性。
查看此
是的,你可以在一个表单中有更多的提交按钮。由于你使用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
?>
我刚刚完成了一个系统,在这个系统中,你可以更新数据记录,我使用的功能之一是使用多个提交来允许用户用不同的选项"标记"更新。例如"活动"、"终止"、"禁用"。它保存了一个包含多个选项的下拉框,并保持了系统的直观性。
具有不同值的多个提交按钮允许您提交表单,其中提交字段具有多个值中的一个,并且可以改进用户界面。另外,它的HTML是有效的。