2013-04-08 74 views
2

我有我的表單確認對話框。它是在一個jQuery的提交功能。我正在使用alertify顯示確認對話框。但問題是我的jQuery提交函數在alertify獲取確認框值之前返回。閱讀該警報是不阻塞的。任何方式來克服這一點,並將確認框的值返回到我的表單?從alertify插件和jquery確認框的返回值

$("#viewform").submit(function(){ 

     alertify.confirm("Delete the selected entry?",function(e){ 

      if(e) 
        return true; 
       else 
        return false; 

       }); 


}); 

函數總是返回true。我想返回確認框的輸出。如何返回確認框的延遲返回值?

回答

1

一個解決方法是使用button而不是submit輸入,然後使用點擊偵聽器來運行alertify。這可以通過jQuery提交表單。下面是它看起來可能:

HTML:

<form id="form"> 
    <input type="button" value="Submit" id="btn"> 
</form> 

的JavaScript:

$('#btn').click(function() { 
    alertify.confirm("Delete the selected entry?",function(e){ 
     if(e) { 
      $('#form').submit(); 
      return true; 
     } else { 
      return false; 
     } 

    }); 
}); 
+0

感謝。所以我們仍然需要返回真或假?如果(e){$('#form')。submit(); }就夠了吧? – Shabin 2013-04-08 10:24:34

+0

是的,我不認爲在這裏需要返回真或假。爲了清楚起見,我只是把它留下了。 – tpbowden 2013-04-08 10:25:26