0

私はフォームを持っています:

<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>

そしてdoSomething、ユーザーがフォームのどこかでEnterキーを押したとき(または送信ボタンをクリックしたとき)にコントローラーのメソッドが呼び出されるようにします。特定のフォーム フィールドの前提条件が満たされていない場合に送信ボタンを「無効にする」機能を導入するまで、これは期待どおりに機能していました。このような状況ではcancel、コントローラーでメソッドが実行されます。

誰か助けてくれませんか?

~~~

Bootstrap/JS/HTML コミュニティの ps ...{{something}}タグ付けは Ember ベースです。うまくいけば、これは問題を解決する上での考慮事項であるため、あまり匂いを感じさせないでください (私は思います)。

4

1 に答える 1

1

ビューでイベントkeyDownをトラップし、イベントのキーコードを取得して、 Enterキーコード 13と比較できます。

ビューでは、このコードのようなものを実装する必要があります

keyDown: function(e) {
  if (e.keycode == 13 && this.get('controller.disableSubmit'))){
     e.preventDefault(); 
  }
}
于 2013-10-16T12:14:12.267 に答える