按钮文本与查询字符串中提交的值不同

Joh*_*ick 5 html

精简版:

如何在使用<button>标签的情况下让表单的按钮标签文本与提交给服务器的值不同?

长版:

我想让表单中按钮中出现的文本与查询字符串中提交的值不同。所以,我环顾四周,发现了这种方法......

<button name="method" type="submit" value="repackage">Update Config</button>
Run Code Online (Sandbox Code Playgroud)

...在我的一台笔记本电脑上运行 IE9,我很高兴。用户method=repackage在查询字符串中看到“更新配置”和服务器。

然后我带着这个应用程序运行并在工作站上运行它,也使用 IE9。但是出了点问题。用户仍然看到“更新配置”,但服务器现在收到method=Update%20Config了查询字符串。

所以我又研究了一些。我发现 www.w3schools.com 建议不要<button>在表单中使用标签。他们说:“如果你<button>在 HTML 表单中使用元素,不同的浏览器可能会提交不同的值。用于<input>在 HTML 表单中创建按钮”在这篇文章中。这似乎是我正在经历的。

所以我又看了一些,发现了很多关于正确方法的相互矛盾的信息。例如,这里是 Stack Overflow 的一篇帖子,正好问了这个问题,但公认的答案是使用<button>标签。我可以从经验和研究中说,这不是一个可靠的方法。

cod*_*ine 1

如果没有其他办法可以试试这个:

使用图像按钮代替按钮。图像按钮将用作普通的提交按钮,但您创建所需按钮文本的图像(然后没有人可以更改您的文本)。

 <input type="image" src="http://images.webestools.com/buttons.php?frm=2&btn_type=31&txt=Update+Config" name="method" value="repackage">
Run Code Online (Sandbox Code Playgroud)