目前,我有一个HTML表单,用户可以在其中输入文章的标题和文字。在提交时,它们会显示两个按钮。一种是在不发布文章的情况下“保存”他们的文章,另一种是“发布”文章并将其公之于众。
我正在使用PHP,我正在试图找出如何判断使用了哪个按钮,以便在数据库中存储相应的相应值。
<td>
<input type="submit" class="noborder" id="save" value="" alt="Save" tabindex="4" />
</td>
<td>
<input type="submit" class="noborder" id="publish" value="" alt="Publish" tabindex="5" />
</td>
可能之前应该提到这一点,但我无法分配按钮值,因为按钮是图像,所以文本会显示在它上面。
答案 0 :(得分:71)
为每个input
提供name
属性。只有点击的input
name
属性才会发送到服务器。
<input type="submit" name="publish" value="Publish">
<input type="submit" name="save" value="Save">
然后
<?php
if (isset($_POST['publish'])) {
# Publish-button was clicked
}
elseif (isset($_POST['save'])) {
# Save-button was clicked
}
?>
修改:将 value
属性更改为alt
。不确定这是图像按钮的最佳方法,但是您不想使用input[type=image]
的任何特殊原因?
编辑:由于这一点不断上升,我继续将奇怪的alt
/ value
代码更改为实际提交输入。我相信最初的问题需要某种图像按钮,但现在有更好的方法来实现,而不是使用input[type=image]
。
答案 1 :(得分:8)
为这些提交按钮指定名称和值,如:
<td>
<input type="submit" name='mybutton' class="noborder" id="save" value="save" alt="Save" tabindex="4" />
</td>
<td>
<input type="submit" name='mybutton' class="noborder" id="publish" value="publish" alt="Publish" tabindex="5" />
</td>
然后在你的php脚本中你可以检查
if($_POST['mybutton'] == 'save')
{
///do save processing
}
elseif($_POST['mybutton'] == 'publish')
{
///do publish processing here
}
答案 2 :(得分:2)
如果你不能把价值放在按钮上。我只是一个粗略的解决方案。放一个隐藏的领域。当在提交之前单击其中一个按钮时,在单击第一个按钮时填充隐藏字段的值,例如填充2,如果单击第二个按钮则填充2。并在提交页面中检查此隐藏字段的值,以确定单击哪一个。
答案 3 :(得分:1)
您可以按照以下方式使用它,
<td>
<input type="submit" name="save" class="noborder" id="save" value="Save" alt="Save"
tabindex="4" />
</td>
<td>
<input type="submit" name="publish" class="noborder" id="publish" value="Publish"
alt="Publish" tabindex="5" />
</td>
在PHP中,
<?php
if($_POST['save'])
{
//Save Code
}
else if($_POST['publish'])
{
//Publish Code
}
?>