Ng-submit忽略提交按钮禁用状态

时间:2014-02-27 09:56:59

标签: javascript angularjs

考虑以下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个文本框,第二个有一个文本框。

为什么会这样?

1 个答案:

答案 0 :(得分:3)

在几个浏览器上测试后,我成功地在IE上重现了这个bug。它在FF和Chrome上运行,因为您可以看到它是浏览器/版本兼容性问题,因此您可能需要处理此问题并自行编写验证。

在stackoverflow上检查此answer