Javascript 输入和提交的处理

Javascript 输入和提交的处理,javascript,html,ember.js,Javascript,Html,Ember.js,我有一张表格: <form class="form-inline" {{action "doSomething" on="submit"}}> <form-field/> <form-field/> <form-field/> <button class="btn btn-success" type="submit" {{bind-attr disabled=disableSubmit}}>Reset P

我有一张表格:

<form class="form-inline" {{action "doSomething" on="submit"}}>
    <form-field/>
    <form-field/>
    <form-field/>
    <button class="btn btn-success" type="submit" {{bind-attr disabled=disableSubmit}}>Reset Password</button>
    <button class="btn btn-default" type="cancel" {{action "cancel" on="click"}}>Cancel</button>
</form>

重置密码
取消
我希望当用户在表单的某个地方按enter键(或单击submit按钮)时,调用控制器的
doSomething
方法。在我引入了“禁用”提交按钮的功能(如果某些表单字段的先决条件没有得到满足)之前,这一切都如期进行。在这些情况下,它会在控制器上执行
cancel
方法,这相当令人费解

有人能帮忙吗

~~~

p、 对于Bootstrap/JS/HTML社区。。。
{{something}
标记是基于余烬的。希望这不会让你太难受,因为这是解决问题的一个考虑因素(我认为)。

你可以在视图中捕获事件键,获取事件的键代码,并与enter键代码13进行比较

在视图中,您应该实现如下代码

keyDown: function(e) {
  if (e.keycode == 13 && this.get('controller.disableSubmit'))){
     e.preventDefault(); 
  }
}

事实证明,问题源于这样一个事实:我开始使用
组件
,它们在回车时接收提交事件(与视图或车把模板不同)。在此之前,我刚刚使用了视图,我的
on=“submit”
语句足以捕获此操作。我很快会写一份答复。不管怎样,谢谢你的帮助。