当前位置: 首页 > 面试题库 >

如何知道在PHP表单提交中单击了哪个按钮?

宿嘉
2023-03-14
问题内容

我的页面上有几个按钮,但是我不确定如何知道单击了哪个按钮。这是我的两个按钮的标记:

<input type="submit" id="btnSubmit" value="Save Changes" />
<input type="submit" id="btnDelete" value="Delete" />

问题答案:

使用类似如下的HTML表单:

<input type="submit" name="btnSubmit" value="Save Changes" />
<input type="submit" name="btnDelete" value="Delete" />

使用的PHP代码如下所示:

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    // Something posted

    if (isset($_POST['btnDelete'])) {
        // btnDelete
    } else {
        // Assume btnSubmit
    }
}

您应该始终 假定或默认为第一个提交按钮以HTML源代码的形式出现 。实际上,在以下情况下,各种浏览器会可靠地发送带有发布数据的提交按钮的名称/值:

  1. 用户使用鼠标或定位设备从字面上单击提交按钮
  2. 或者将焦点放在“提交”按钮(它们在选项卡上)上,然后Enter按键。

存在其他提交表单的方法,并且在某些情况下,某些浏览器/版本决定 不发送任何提交按钮的名称/值 。例如, 许多用户Enter在光标/焦点位于文本字段上时通过按键提交表单。表单也可以通过JavaScript以及其他一些晦涩的方法提交。

请务必注意此细节,否则用户提交表单时确实会让他们感到沮丧,但是“什么也没有发生”并且其数据丢失,因为您的代码未能检测到表单提交,因为您没有预料到事实提交按钮的名称/值可能不会与帖子数据一起发送。

另外,上述建议也应用于带有单个提交按钮的表单,因为您应 始终假定默认的提交按钮

我知道互联网上充斥着大量的表单处理程序教程,并且几乎所有它们都只检查提交按钮的名称和值。但是, 它们只是错误的!



 类似资料:
  • 我有两个大小相同的ArrayList,一个用于JButton,一个用于JTextField。单击按钮时,相应的文本字段应更新。我怎么能意识到? p、 jcomponents对(jbutton jtextfield)的数量不是固定的。它们是为用户添加或删除而设计的。但是,它们必须按固定顺序排列。 我如何知道JButton ArrayList中的索引“I”?

  • 问题内容: 我有一个带有两个提交按钮和一些代码的表单: HTML: JavaScript: 当然,这两个提交按钮完成不同的事情。有没有一种方法可以找出按下了哪个按钮,所以以后我可以这样做吗? 理想情况下,我不想修改按钮的代码,而只是具有这种行为的纯JavaScript插件。 我知道Firefox具有,但是我找不到其他浏览器的任何内容。 问题答案: 不在提交事件处理程序中,不。 但是您 可以 做的是

  • 我正在设计一个使用html和php的登录页面。它包括两个按钮,一个用于登录,另一个用于重定向到注册页面。我计划使用php代码验证同一页面上的登录数据。这是我的密码 但是注册按钮工作不正常。它不会重定向到注册页面。我不想把登记按钮放在表格外面。我希望保持相同的设计并实现所需的功能。

  • 问题内容: 目前,我有一个HTML表单,用户可以在其中输入文章的标题和文本。当需要提交时,将显示两个按钮。一种是“保存”他们的文章而不发布它,另一种是“发布”该文章并将其公开。 我正在使用PHP,并且试图找出如何分辨使用了哪个按钮,以便在数据库中存储相应的相应值。 可能应该早些时候提到过,但是我无法分配按钮值,因为按钮是图像,所以文本会显示在其上方。 问题答案: 给每一个属性。仅单击的属性将被发送

  • 问题内容: 我有一个表格,基本上是上传一个文件。我要提交两次表格,第1次不包含多部分,第二次1次包含多部分。 但是我想先检查一下第一次提交表单是否成功,然后再进行第二次提交 引用@Vern后编辑 这是我的servlet部分。我在哪里确定它是否由多个部分组成。如果未将 resultType 存储到会话变量中,则返回, 现在,我要检查此“已 提交 ”或类似内容,然后第二次提交表格。 第二表单提交:在这

  • 问题内容: 我有一个HTML表单,其中使用了几个按钮。问题是,无论我单击哪个按钮,即使该按钮的类型不是“ submit”,也将提交表单。例如:之类的按钮,导致表单提交。 为这些按钮中的每个按钮执行一次操作是非常痛苦的。 我使用jQuery和jQuery UI,并且网站使用HTML5。 有没有办法禁用这种自动行为? 问题答案: 像按钮 是 提交按钮。 设置以改变它。是默认值(由HTML建议指定)。