我有一个名称列表和一些带有产品名称的按钮。当单击其中一个按钮时,列表的信息将被发送到PHP脚本,但是我无法点击submit按钮来发送它的值。它是如何做到的?我将我的代码简化为以下内容:
发送页面:
<html>
<form action="buy.php" method="post">
<select name="name">
<option>John</option>
<option>Henry</option>
<select>
<input id='submit' type='submit' name = 'Tea' value = 'Tea'>
<input id='submit' type='submit' name = 'Coffee' value = 'Coffee'>
</form>
</html>
接收页面: buy.php
<?php
$name = $_POST['name'];
$purchase = $_POST['submit'];
//here some database magic happens
?>
除了发送提交按钮值之外,其他所有操作都可以完美地工作。
发布于 2014-03-22 23:39:50
按钮名称不是submit,所以没有设置php $_POST['submit']
的值。正如在isset($_POST['submit'])
中一样,计算结果为false。
<html>
<form action="" method="post">
<input type="hidden" name="action" value="submit" />
<select name="name">
<option>John</option>
<option>Henry</option>
<select>
<!--
make sure all html elements that have an ID are unique and name the buttons submit
-->
<input id="tea-submit" type="submit" name="submit" value="Tea">
<input id="coffee-submit" type="submit" name="submit" value="Coffee">
</form>
</html>
<?php
if (isset($_POST['action'])) {
echo '<br />The ' . $_POST['submit'] . ' submit button was pressed<br />';
}
?>
发布于 2014-03-22 23:37:51
改用下面的代码:
<input id='tea-submit' type='submit' name = 'submit' value = 'Tea'>
<input id='coffee-submit' type='submit' name = 'submit' value = 'Coffee'>
发布于 2018-04-06 18:04:53
最初的帖子提到了按钮。您还可以用按钮替换输入标记。
<button type="submit" name="product" value="Tea">Tea</button>
<button type="submit" name="product" value="Coffee">Coffee</button>
提交表单时,name
和value
属性是提交值所必需的(在本例中,id
属性不是必需的)。属性type=submit
指定单击此按钮会导致提交表单。
当服务器处理提交的表单时,$_POST['product']
将包含值“茶”或“咖啡”,这取决于所单击的按钮。
如果您愿意,还可以要求用户在提交表单之前进行确认(例如,在实现删除按钮时很有用)。
<button type="submit" name="product" value="Tea" onclick="return confirm('Are you sure you want tea?');">Tea</button>
<button type="submit" name="product" value="Coffee" onclick="return confirm('Are you sure you want coffee?');">Coffee</button>
https://stackoverflow.com/questions/22579616
复制相似问题