使用 angularJS 单击 Internet Explorer 中的输入表单功能

Using angularJS click on enter form functionality in Internet Explorer

我在 angularJS 中有一个这样的表格:

<form>
    <div class="row form-group">
      <div class="col-xs-4">
        <label>Product name:</label>
      </div>
      <div class="col-xs-8">
        <input ng-model="vm.name" ng-disabled="vm.product.name">
      </div>
    </div>
    <button ng-hide="1" ng-click="vm.addName()"></button>
  </form>

想法是,当用户输入名称时,表单会将其锁定(在 addName() 内部)并执行 API 调用以搜索关联数据。在 firefox 和 chrome 中这完美地工作,但点击事件在 Internet Explorer 中永远不会触发。有解决办法吗?

我只需要一种方法,当在表单域内的输入上按下 'enter' 时触发点击事件。有没有办法使此功能成为 Internet Explorer 中的默认功能?

在表单内的输入上按回车键时的默认行为是提交表单或单击提交按钮,具体取决于浏览器。如果有一个没有类型和提交按钮的按钮,该按钮可能会被浏览器更改为提交按钮。

要获得一致的结果,请将您的按钮更改为提交按钮并将 addName 调用移至表单的提交事件。

<form ng-submit="vm.addName()">
  <div class="row form-group">
    <div class="col-xs-4">
      <label>Product name:</label>
    </div>
    <div class="col-xs-8">
      <input ng-model="vm.name" ng-disabled="vm.product.name">
    </div>
  </div>
  <button ng-hide="1" type="submit"></button>
</form>