HTML提交按钮:不同的值/按钮文本?

Posted

技术标签:

【中文标题】HTML提交按钮:不同的值/按钮文本?【英文标题】:HTML Submit-button: Different value / button-text? 【发布时间】:2011-05-09 11:18:14 【问题描述】:

我想创建一个带有 'add tag'html 表单提交按钮,但是,网页是瑞典语,所以我想要一个不同的 按钮文本

也就是说,我想要一个像这样的按钮

但我想让我的代码像

if (request.getParameter(cmd).equals("add tag"))
    tags.addTag( /*...*/ );

这可能吗?如果有,怎么做?

【问题讨论】:

我认为值应该无关紧要。您只需检查 POST 数据中是否存在“add_tag” 我将其读作“我希望输入的文本与我的服务器端处理不相关”,因此当您对表单进行多个翻译时,您不会获得多个文本值之一张贴。当您的表单有多个提交按钮并且您想要执行 if(request.getParameter("submit-type").equals("add-tag") ... 查看哪个提交按钮时,这很重要。 【参考方案1】:

遵循 cmets 中的@greg0ire 建议:

<input type="submit" name="add_tag" value="Lägg till tag" />

在您的服务器端,您将执行以下操作:

if (request.getParameter("add_tag") != null)
    tags.addTag( /*...*/ );

(由于我不懂那种语言(java?),可能有语法错误。)

我更喜欢&lt;button&gt; 解决方案,但it doesn't work as expected on IE < 9。

【讨论】:

【参考方案2】:

这里有很多答案可以解释您可以做什么(我使用不同的字段名称),但对您的问题的简单(并且尚未说明)答案是“不” - 您不能有不同的文本和值仅使用 HTML。

【讨论】:

【参考方案3】:

如果您通过 JScript 处理“添加标签”:

<form ...>
<button onclick="...">any text you want</button>
</form>

如果通过页面重新加载处理,则以上

【讨论】:

是的,每个表单都需要 JS,不管它是否简单。欢迎使用 ASP.NET。 作为 ASP.Net 开发人员,我可以确认这一点。 :P 假设您仍然生活在网络表单的时代。 ASP.Net MVC 要好得多。没有视图状态、全局包装表单等。【参考方案4】:

可以使用button 元素。

<button name="name" value="value" type="submit">Sök</button>

来自W3C page on button:

使用 BUTTON 元素创建的按钮功能类似于使用 INPUT 元素创建的按钮,但它们提供了更丰富的呈现可能性:BUTTON 元素可能具有内容。

【讨论】:

请注意,这不像 IE6/7 上宣传的那样工作。本文可能会解决问题,但如果您使用 asp.net 或其他不允许 HTML 回发的框架,则会遇到问题:allinthehead.com/retro/330/… 你也可以只使用在 POST 中提供输出的 name 属性【参考方案5】:

我不知道我是否正确,但据我了解,您可以使用带有“添加标签”值的附加隐藏字段,并让按钮具有所需的文本。

【讨论】:

对同一表单上的多个按钮没有帮助,我认为这是 OP 的问题。 从他的问题中看不到任何证据表明同一表单上有多个按钮。

以上是关于HTML提交按钮:不同的值/按钮文本?的主要内容,如果未能解决你的问题,请参考以下文章

带有两个按钮的表单以不同的值提交

php一个表单提交多个页面,怎样获取按钮提交过来的值

单击提交按钮时如何传递单击按钮的值?

如何在 Django 中访问表单提交按钮的值?

无法更改 HTML 表单提交按钮的字体大小

每次单击按钮时都在提交表单