有人可以解释为什么在输入中按location ~ /animals {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME thePhalconMicroScript.php;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
}
键时永远不会触发submit
事件吗?
enter

点击提交按钮效果很好。 如果我删除了禁用按钮,则效果很好。
测试下:
- Chrome版本66.0.3359.181(Build officiel)(64位)
- Chrome版本68.0.3439.0(Build officiel)金丝雀(64位)
第一个按钮被禁用,但第二个按钮没有<form>
<input type="text" placeholder="press enter here"/>
<button disabled>disabled</button>
<button type="submit">submit</button>
</form>
。
这是一个已知问题吗?谢谢,
答案 0 :(得分:1)
尝试设置第一个按钮以键入=&#34;按钮&#34;
<form>
<input type="text" placeholder="press enter here" />
<button type="button" disabled>disabled</button>
<button type="submit">submit</button>
</form>
如果您不打算使用第一个按钮提交表单,则不需要将其声明为提交按钮。如果您没有声明,表单可能会认为它应该是提交表单的按钮。 (因为它是浏览器在解析页 表单时看到的第一个按钮)
答案 1 :(得分:1)
此行为是设计使然。 HTML5标准的相关部分是§4.10.21.2 "Implicit submission":
form
元素的默认按钮是树顺序中的第一个提交按钮,其表单所有者是该表单元素。如果用户代理支持让用户隐式提交表单(例如,在某些平台上按下“enter”键,而文本控件被聚焦则隐式提交表单),然后对表单执行此操作,其默认按钮具有激活行为且未禁用,必须使用户代理在该默认按钮上触发
click
事件。
表单中的第一个提交按钮始终被视为默认按钮,即使它已被禁用。禁用它会阻止它被用于提交表单。