2014-04-21 67 views
0

我有一個模態窗口的問題。AngularJS防止模式打開回車鍵

我有幾節和一節(隱藏)我有ng-click ='function()'按鈕。

<section class='hidden'> 
    <button class="mobileUpdate" ng-click="openMobileUpdateModal()">SMS</button> 
</section> 

openMobileUpdateModal()打開模式對話框。 問題是當我按下輸入鍵的任何輸入字段時,它會打開我的模式窗口。

任何想法如何防止這種情況?

感謝

回答

2

報價the docs on form/ngForm

您可以使用以下兩種方式之一,以指定當表單提交JavaScript方法應該叫:

  • ngSubmit指令表單元素上
  • ngClick指令對第一個按鈕或輸入字段的類型submit(input [type = submit])

[...]
......在HTML規範以下表單提交規則:

  • 如果一個表單有那麼打在此字段中輸入只有一個輸入字段觸發的形式提交(ngSubmit)
  • 如果表單有2個輸入字段且沒有按鈕或輸入[type = submit]則按回車不會觸發提交
  • 如果表單有一個或多個輸入字段和一個或多個按鈕或輸入[type =提交],然後按任意輸入字段中的回車將觸發第一個按鈕上的點擊處理程序或輸入[type = submit](ngClick)a找到一個封閉的形式提交處理(ngSubmit)

因此,根據您的設置的休息,你可以通過改變按鈕的順序解決這個問題,通過檢測和過濾鍵事件,通過引入額外的form元素等。

+1

感謝您的評論,幫助我。解決了問題更改按鈕... – Djomla

0

在openMobileUpdateModal()函數的地方,如果條件檢測關鍵事件。 如果按下的鍵值是13(回車鍵)從函數返回,否則繼續該功能。

相關問題