精简版:
如何在不使用<button>
标签的情况下让表单的按钮标签文本与提交给服务器的值不同?
长版:
我想让表单中按钮中出现的文本与查询字符串中提交的值不同。所以,我环顾四周,发现了这种方法......
<button name="method" type="submit" value="repackage">Update Config</button>
...这在我的一台笔记本电脑上的 IE9 上工作,我很高兴。method=repackage
用户在查询字符串中看到“更新配置”和服务器。
然后我把这个应用程序带入工作并在工作站上运行它,同样使用 IE9。但是出了点问题。用户仍然看到“更新配置”,但服务器现在收到method=Update%20Config
了查询字符串。
所以我又调查了一些。我发现 www.w3schools.com 建议不要<button>
在表单中使用标签。他们说:“如果你<button>
在 HTML 表单中使用元素,不同的浏览器可能会提交不同的值。用于<input>
在 HTML 表单中创建按钮”在这篇文章中。这似乎是我正在经历的。
所以我又看了一些,发现很多关于正确方法的相互矛盾的信息。例如,这是一个 Stack Overflow 帖子,它准确地提出了这个问题,但接受的答案是使用<button>
标签。我可以从经验和研究中说,这不是一种可靠的方法。