html - 为什么 Chrome 浏览器中的翻译会禁用网页中的提交按钮?

标签 html google-chrome button browser submit

我有一个 Web 应用程序,它使用老式的 HTML 表单向服务器提交信息。最近有人指出,该系统无法在 Chrome 中使用翻译功能。 (系统有自己的内部翻译供用户使用,但偶尔有人想将另一种语言翻译回英语以供查看。我收到投诉说,在 Chrome 中查看翻译成英语的另一种语言时,系统不起作用,果然没有。)

我想我通过在 <span class="notranslate"></span> 中嵌入提交按钮解决了这个问题,但想知道为什么翻译首先会禁用提交按钮。它们是基本的<input type=submit value="[label on button]" ... /> 。如果按钮不在 notranslate 范围内,Chrome 将翻译 value 属性(按钮上的文本标签)。但不知怎的,这似乎让他们失去了能力。

最佳答案

按钮尚未禁用。问题是您的表单将 POST/GET 按钮中的值。如果用户在 Chrome 中选择这些内容进行翻译,则它们可能不符合检测表单成功提交所需的条件。

例如您的表单中有一个按钮:

<input type=submit value="Continue" ... />

Google Chrome 浏览器将其翻译为德语:

<input type=submit value="Fortsetzen" ... /> 

它将提交这个翻译值。 但是,您的提交检测代码是(例如在 php 中):

if (isset($_POST["submit"]) && $_POST["submit"]=="Continue") 

因此表单将被提交,但值将不匹配。

在我看来,这将破坏互联网的大部分内容,而不仅仅是您的系统。

顺便说一句,感谢您的建议:<span class="notranslate">

关于html - 为什么 Chrome 浏览器中的翻译会禁用网页中的提交按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59639252/

相关文章:

java - Selenium ChromeDriver 不会使用默认用户数据来访问 url

javascript - 根据复选框 oracle apex 禁用或启用按钮

ios - 当选择 UIButton 时,文本标签上会出现一个白色框

html - 当我将光标悬停在下拉菜单上时,下拉菜单一直消失

javascript - Phaser 未捕获引用错误 : game is not defined

google-chrome - 如何让 Aptana 与 Google Chrome 一起使用?

javascript - Android Chrome window.onunload

单击按钮后 Android 应用程序停止工作

html - CSS 设置帖子摘录和标题 float 在特色图片旁边

android - Cordova /Phonegap : Disable bounce only for header and footer