当在输入时禁用提交按钮时,Internet Explorer 11 / Edge会使用一个输入提交表单,但不会使用两个或更多输入

时间:2016-03-02 22:31:14

标签: html forms internet-explorer microsoft-edge

我不知道这是不是一个错误,或者是否有这种行为,如果有意,我无法弄清楚原因。如果我有一个带有单个输入和禁用提交按钮的表单,在IE11 / Edge中我可以聚焦输入并按Enter键,表单将被提交。如果有两个输入,则表单未提交。

在Firefox和Chrome中,这可以正常工作,并且在按钮被禁用时,任何一个示例都不会触发表单提交事件。

一个输入(jsfiddle

HTML:

<form>
  <input type="text" id="stuff" />
  <button type="submit" disabled>submit</button>
</form>

JS:

$('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);
});

两个输入(jsfiddle

HTML:

<form>
  <input type="text" id="stuff1" />
  <input type="text" id="stuff2" />
  <button type="submit" disabled>submit</button>
</form>

JS:

$('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);
});

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

0 个答案:

没有答案