Jquery UI对话框代替javascript确认

我有一堆validationjavascript进程与确认。 我想使用jquery ui对话框,但我需要在其余的validation过程中返回true。

例如:

var where_to_coupon = confirm(pm_info_msg_013); if (where_to_coupon== true) { doSubmit=true; return doSubmit; 

所以我需要一个用UI对话框替换确认的函数,拉取消息字符串(pm_info_msg_013),并使用我自己的按钮或UI按钮为validation过程返回true。

不知道从哪里开始。

救命?

在jQuery UI对话框中,将modal选项设置为true,并使用buttons选项指定主要和次要用户操作。

  $( "#dialog-confirm" ).dialog({ resizable: false, height:140, modal: true, buttons: [{ text: pm_info_msg_013, click : function() { $( this ).dialog( "close" ); // code related to "where_to_coupon== true" goes here // submit form } }, { text: "Cancel", click: function() { $( this ).dialog( "close" ); doSubmit = false; // don't submit form }}] }); 

请参阅此处的演示: http : //jqueryui.com/demos/dialog/#modal-confirmation

更新:这将允许您创建多个确认。 用法:

 function CreateDialog(okText, cancelText, okCallback, cancelCallback) { $( "#dialog-confirm" ).dialog({ resizable: false, height:140, modal: true, buttons: [{ text: okText, click : function() { $( this ).dialog( "close" ); okCallback(); } }, { text: cancelText, click: function() { $( this ).dialog( "close" ); cancelCallback(); }}] } }); // ******* usage #1 ******** CreateDialog(pm_info_msg_013, "Cancel", function () { // where_to_coupon== true }, function() { // where_to_coupon== false }); function OnConfirmTrue() { // do something } function OnConfirmFalse() { // do something } // ******* usage #2 ******** CreateDialog(pm_info_msg_013, "Cancel", OnConfirmTrue, OnConfirmFalse); 

我为jQuery UI创建了一个名为dialogWrapper的插件,它提供了几种方法,包括确认方法。 你这样称呼它:

 $.confirm("Prompt", function(){}, function(){}, {}); 

第二个和第三个参数分别是单击yes和no按钮时要执行的操作。 第四个是额外的论点。

请在此处查看: http : //code.google.com/p/dialogwrapper/

但它不像本机JavaScript confirm方法那样工作,因为它是异步的。 所以你无法用$.confirm直接覆盖confirm

你有没有尝试过Trent Richardson的Impromtu?

http://trentrichardson.com/Impromptu/

这个jquery插件可以通过提示和确认等方式为您提供所需的控件。