考虑以下fiddle:当文本框为空时,提交按钮被禁用,并且在文本框中按 Enter 也不会执行任何操作。如果您填写任何文本,提交将按预期工作。相关的HTML部分:
<form name="form1" ng-submit="submitData()" novalidate>
<input type="text" ng-model="data" required /><br />
<input type="text" ng-model="data" required /><br />
<br />
<button type="submit" ng-disabled="form1.$invalid">Submit</button>
</form>
然而,在this fiddle中,有一种奇怪的行为。当文本框为空时,提交按钮被禁用,但按 Enter 仍会导致调用提交功能。相关的HTML部分:
<form name="form1" ng-submit="submitData()" novalidate>
<input type="text" ng-model="data" required /><br />
<br />
<button type="submit" ng-disabled="form1.$invalid">Submit</button>
</form>
这些小提琴之间的唯一区别是第一个有2个文本框,第二个有一个文本框。
为什么会这样?
答案 0 :(得分:3)
在几个浏览器上测试后,我成功地在IE上重现了这个bug。它在FF和Chrome上运行,因为您可以看到它是浏览器/版本兼容性问题,因此您可能需要处理此问题并自行编写验证。
在stackoverflow上检查此answer。