2013-04-08 57 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