我有一个包含多个提交按钮的表单。
每个提交按钮都是一个IMG SRC
垃圾桶,表示基于网络的消息收发邮件收件箱中邮件的删除图标
找出点击哪个提交按钮图标的最佳方法是什么,以便我可以编写PHP / MySQL代码来删除消息?
if(!empty($_POST)){
// How do I figure out which submit button has been clicked to get the ID of the message to delete?
}
<form method="POST">
<input src="http://www.foo.com/img.png" id="button_1">
<input src="http://www.foo.com/img.png" id="button_2">
<input src="http://www.foo.com/img.png" id="button_3">
<input src="http://www.foo.com/img.png" id="button_4">
...
<input src="http://www.foo.com/img.png" id="button_100">
</form>
答案 0 :(得分:4)
为每个提交按钮设置value
并在php中检查并查找单击了哪个
<form method="POST">
<img src="http://www.foo.com/img.png" id="button_1" name="submit_btn" value="1">
<img src="http://www.foo.com/img.png" id="button_2" name="submit_btn" value="2">
<img src="http://www.foo.com/img.png" id="button_3" name="submit_btn" value="3">
<img src="http://www.foo.com/img.png" id="button_4" name="submit_btn" value="4">
...
<img src="http://www.foo.com/img.png" id="button_100" name="submit_btn" value="100">
</form>
echo $_POST['submit_btn'];
会为您提供点击哪个提交按钮的值
答案 1 :(得分:3)
为每个按钮命名=“”
然后你可以做类似
的事情isset($_POST['button_name']) {
// execute code here if true
}
答案 2 :(得分:2)
此问题的解决方案是使用标记输入/按钮的NAME属性。
<input type="submit" name="submitSave" value="Save"/>
<input type="submit" name="submitAddComment" value="Add comment"/>
或
<button type="submit" name="submitSave">Save</button>
<button type="submit" name="submitAddComment">Add comment</button>
我认为你也可以使用button标签的value属性,这对输入标签来说是绝对不可能的。
如果您需要使用ID或其他变量,请使用name =&#34; submitDelete [888]&#34; 然后,用PHP检查:
if( isset($_POST['submitDelete']) ) {
echo key($_POST['submitDelete']);// Displays the ID to delete, e.g. 888.
}
答案 3 :(得分:1)
这么多年以后,我喜欢button
,因为它允许显示文本或图像而与返回值无关。
在这里例举了一些可能的信息,这些信息与该职位的标题相符,而且比OP的案例更多。
<?php
if(!empty($_POST['id'])){
echo 'button '. $_POST['id'] .' clicked';
} elseif ('create' === ($_POST['action'] ?? '')) {
echo 'create clicked';
} elseif (isset($_POST['action'])) {
echo 'refresh clicked';
} elseif (isset($_POST)) {
echo 'Default clicked';
}
?>
<form method="POST">
<button type="submit" name="id" value="1"><img src="http://www.foo.com/img.png"></button>
<button type="submit" name="id" value="2"><img src="http://www.foo.com/img.png"></button>
...
<button type="submit" name="id" value="100"><img src="http://www.foo.com/img.png"></button>
<button type="submit" name="action" value="create">New element</button>
<button type="submit" name="action">Refresh</button>
<button type="submit">Default</button>
</form>
答案 4 :(得分:0)
您可以为每个按钮提供name
和value
。然后它会显示在$_POST['submit']
<img src="http://www.foo.com/img.png" id="button_4" name='submit' value='4' />
答案 5 :(得分:-1)
你必须通过删除每个的名称和值来将你的值传递给当前文件。然后你可以在你的php脚本中回显,以便知道点击了哪一个。