2017-12-04 18 views
0

私はAngularJSのためにいくつかの助けが必要でした。Angular-issue with ng-Click and submit

私は、ダイアログボックスを表示するボタンを持つフォームを持っています。ダイアログボックスが表示されたら、ダイアログボックスのボタンからフォームを送信する必要があります。

現在のところ、ダイアログボックスを開く前にユーザーがtextBoxに入力すると、フォームはダイアログが生成されずに送信されます。

メインフォーム上のボタンは、次のようになります。

<button type="button" class="xyz xyz-one" ng-Click="popDialog()"> 

そして最後に、フォームを送信ダイアログ上のボタンは次のようになります。

<button type="submit" class="xyz xyz-one"> 

どのような方法が上であることありますユーザーが入力を押したときのUI、フォームは自動送信からブロックされ、ダイアログのみがポップアップします。フォーム内のテキストフィールドのそれぞれに

+0

にアクションを入力するか、ボタンをクリックするとダイアログが閉じた後まで、フォームを送信することはできませんので、あなたは(ボタンを提出することを無効にするには、NG-無効を使用することができますng-disabledがバインドされているプロパティがいくつか設定されています) – shaunhusain

答えて

0

、このディレクティブを追加します。

ng-keydown="preventFormSubmission($event)"

次に、あなたのコントローラで次の操作を行います。

$scope.preventFormSubmission = (event) => { 
    // Keycode 13 is the enter button 
    if (event.keyCode === 13) { 
     event.preventDefault() 
    } 
} 

$eventは、すべてのデータを保持するオブジェクトでありますちょうど起こった出来事(キーが押されている)について。 event.preventDefault()を呼び出すと、自動的にフォームが送信されなくなります。

0

変更メインフォームでボタン

<button type="button" ng-click="submit()">