2016-01-18 92 views
1

我使用帶angular.js的語義UI,並且在語義表單驗證方面存在一些問題。語義UI避免爲某些點擊事件觸發表單驗證

我的表單有一些按鈕,點擊任何按鈕時會觸發驗證。我需要避免它們中的一些,因爲它是一個只打開一個模式面板的按鈕。

//NEED TO AVOID TRIGGER VALIDATION FOR THESE TWO BUTTONS 
    <button class="mini ui positive button"> 
     <div class="agregar linea std"> 
      <i class="add square medium icon"></i> 
     </div> 
    </button> 
    <div class="or"></div> 
    <button class="mini ui red button"> 
     <div class="agregar linea nostd"> 
      <i class="add square medium icon"></i> 
     </div> 
    </button> 

//This must trigger validation, and it does ! 
<div class="ui green ok submit button " ng-click="save(pedido, false, true)" ng-disabled="creating">Guardar</div> 

我點擊了與打開模態的按鈕相關的事件。

// buttons to open modal 
$('.agregar.linea.std') 
    .popup({ 
     inline : true, 
     hoverable: true, 
     position : 'bottom right', 
     delay: { 
      show: 300, 
      hide: 300 
     }, 
     content: 'Agregar linea estandard' 
    }) 
    .click(function(){ 
     $scope.modalType = 'std'; 
     $scope.modalInitialize(); 
     $('.ui.modal').modal('show'); 
    }); 
$('.agregar.linea.nostd') 
    .popup({ 
     inline : true, 
     hoverable: true, 
     position : 'bottom right', 
     delay: { 
      show: 300, 
      hide: 300 
     }, 
     content: 'Agregar linea no estandard' 
    }) 
    .click(function(){ 
     $scope.modalType = 'nostd'; 
     $scope.modalInitialize(); 
     $('.ui.modal').modal('show'); 
    }); 

從語義文件:

內置事件: 表格會自動附加事件專門標記表單字段

  • 字段將模糊的逃生按鍵
  • 字段將提交表格進入
  • 提交事件將被連接到點擊類的窗體中的任何元素上提交
  • 復位事件將被連接到點擊類表單內的任何元素重置
  • 清除事件將被連接到點擊任何元素在裏面的形式與類明確

據我所知,我的按鈕打開的模式對話框不適合任何這些條件,但是當您點擊其中任何一個條件時都會觸發驗證。

我不知道爲什麼驗證是在這些情況下完成的,我試圖避免它沒有成功。

我在這裏錯過了什麼?

謝謝!

+0

是一個'div'裏面那些按鈕?根據我的經驗,'div'內的任何東西都是有問題的。 – yvesonline

+0

您是否找到了解決方法?我有同樣的問題。 – dearsina

+0

@dearsina可悲的是沒有。我編碼所有驗證,而不使用語義表單驗證。在那個小項目之後,我變成了自舉。 –

回答

0

我找到了解決方案。您必須使用輸入而不是按鈕。你可以使它們看起來一樣通過應用「UI按鈕」級常規按鈕,就像這樣:

<input type="button" class="mini ui positive button"></input>