【问题标题】:input value to be different from what is sent to POST输入值与发送到 POST 的值不同
【发布时间】:2011-03-24 08:55:32
【问题描述】:

所以使用输入类型提交的约定是这样的

<input type='submit' value='Submit'>

这会给我一个按钮,上面写着“提交”,在我将拥有的帖子数组中

$_POST['submit'] = 'Submit'

是否可以让提交按钮显示提交但帖子值不同。换句话说,我想要一个仍然显示“提交”的按钮,但是

$_POST['submit'] = 1

如果没有 JavaScript,这可能吗?

【问题讨论】:

  • 谢谢大家,两种解决方案都有效,但我更喜欢 dylan 的解决方案。

标签: php html forms input


【解决方案1】:

我今天遇到了这个问题。这对我有用:

不要使用&lt;INPUT&gt;,而是使用&lt;BUTTON&gt;。您可以以相同的方式指定type=submit。但是&lt;BUTTON&gt;的显示值在&lt;BUTTON&gt;&lt;/BUTTON&gt;之间,value=的值是在表单中传递的。

我不确定这是否是标准行为,但它适用于 Firefox。

【讨论】:

    【解决方案2】:

    来自http://reference.sitepoint.com/html/input/type

    “提交”输入显示您在 value 属性中指定的文本,但如果未指定任何值,则按钮面将仅显示单词 Submit。

    您可以注册一个单击处理程序,该处理程序在提交表单时将值更改为 1,例如像

    <input type="submit" name="submit" value="Go!" onclick="this.value=1;"/>
    

    虽然unobtrusive handler 会更漂亮。

    编辑因为您编辑了问题以要求非 JS 解决方案,请使用 Dylan's answer

    【讨论】:

    • 您能给我将值更改为 1 的脚本吗?
    • 你认为没有javascript这可能吗?
    【解决方案3】:

    您可以创建一个名为“提交”的隐藏输入字段并将值设置为 1。您无需设置输入按钮本身的值即可捕获此值。

    【讨论】:

    • 这是不可能的,因为我有多个提交按钮,用户将按下其中一个提交按钮,该提交的键将对应于用户单击的提交按钮所附的值。
    • 但是每个提交按钮都有自己的表单吗?如果是这样,这是可能的。那么,您是否对一个长表单使用多个提交按钮?
    猜你喜欢
    • 2013-05-12
    • 1970-01-01
    • 1970-01-01
    • 2021-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多