Html Internet Explorer 11/Edge在enter上禁用“提交”按钮时使用一个输入提交表单,但不使用两个或多个输入

Html Internet Explorer 11/Edge在enter上禁用“提交”按钮时使用一个输入提交表单,但不使用两个或多个输入,html,forms,internet-explorer,microsoft-edge,Html,Forms,Internet Explorer,Microsoft Edge,我不知道这是否是一个bug,或者这种行为是否是故意的,如果是故意的,我也不知道为什么。如果我有一个单输入且禁用提交按钮的表单,在IE11/Edge中,我可以集中输入并点击enter,表单将被提交。如果有两个输入,则不提交表格 在Firefox和Chrome中,正如我所期望的那样,当按钮被禁用时,两个示例上都不会触发表单提交事件 一个输入() HTML: 两个输入() HTML: 为什么在IE11/Edge中有两个输入的表单工作正常,而没有一个输入的表单工作正常?我明白了,这很奇怪。您是否尝试过为

我不知道这是否是一个bug,或者这种行为是否是故意的,如果是故意的,我也不知道为什么。如果我有一个单输入且禁用提交按钮的表单,在IE11/Edge中,我可以集中输入并点击enter,表单将被提交。如果有两个输入,则不提交表格

在Firefox和Chrome中,正如我所期望的那样,当按钮被禁用时,两个示例上都不会触发表单提交事件

一个输入()

HTML:

两个输入()

HTML:


为什么在IE11/Edge中有两个输入的表单工作正常,而没有一个输入的表单工作正常?

我明白了,这很奇怪。您是否尝试过为每个输入设置提交按钮?你想让密钥同时提交两个输入吗?听起来像个bug@JeffArries-理想情况下,我希望行为与FF和Chrome匹配,如果禁用提交按钮,则按下enter按钮时表单不会被提交。现在更好地理解。我没有任何想法,我使用safari,所以很难测试。很抱歉正如@Strelok所说,我建议你与微软联系。与此同时,可能会在表单中添加一个空的“隐藏”输入,这可能会诱使Edge不提交它。我明白了,这很奇怪。您是否尝试过为每个输入设置提交按钮?你想让密钥同时提交两个输入吗?听起来像个bug@JeffArries-理想情况下,我希望行为与FF和Chrome匹配,如果禁用提交按钮,则按下enter按钮时表单不会被提交。现在更好地理解。我没有任何想法,我使用safari,所以很难测试。很抱歉正如@Strelok所说,我建议你与微软联系。与此同时,可能会在表单中添加一个空的“隐藏”输入,这可能会诱使Edge不提交它。
<form>
  <input type="text" id="stuff" />
  <button type="submit" disabled>submit</button>
</form>
$('form').on('submit', function() {alert('form submitted');});
$('button').on('click', function() {alert('button clicked');});
$('input').on('input', function() {
    if ($('#stuff').val().trim())
    $('button').prop('disabled', false);
  else
    $('button').prop('disabled', true);
});
<form>
  <input type="text" id="stuff1" />
  <input type="text" id="stuff2" />
  <button type="submit" disabled>submit</button>
</form>
$('form').on('submit', function() {alert('form submitted');});
$('button').on('click', function() {alert('button clicked');});
$('input').on('input', function() {
    if ($('#stuff1').val().trim() && $('#stuff2').val().trim())
    $('button').prop('disabled', false);
  else
    $('button').prop('disabled', true);
});