我不知道这是不是一个错误,或者是否有这种行为,如果有意,我无法弄清楚原因。如果我有一个带有单个输入和禁用提交按钮的表单,在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中正常工作,而不是带有一个输入的表单?