jquery是/否对话问题

时间:2013-01-15 09:15:27

标签: jquery jquery-ui jquery-dialog confirm

正在开发网络应用程序,当我尝试验证时,并提交这样的表单工作正常。

                var res = confirm ("Are u want to continue?")
                if (res)
                {
                    var stra_validator = $("#form").validate(form_rule);
                    stra_validator.reset();
                    return stra_validator.form();

                }else{
                    $('#someID').focus();
                    return false;
                }

但是当我尝试使用jQuery对话框时,我就像这样使用了

                      var btns = {};
                      btns['Yes'] = function(){ 
                          $(this).dialog("close");

                          var stra_validator = $("#form").validate(form_rule);
                    stra_validator.reset();
                    return stra_validator.form();// continue the process 
                      };
                      btns['No'] = function(){ 
                          $(this).dialog("close");
                                     $('#someID').focus();
                    return false;
                      };
                      $("<div></div>").dialog({
                        autoOpen: true,
                        title: 'Condition',
                        modal:true,
                        buttons:btns
                      });

它没有进行下一步我的意思是不提交。但如果我点击否,它就会聚焦。我在这里做错了什么?请帮帮我一个人?提前谢谢。

1 个答案:

答案 0 :(得分:0)

我认为$(this).dialog()在按钮上下文中是错误的。

试试这个:

var btns = {};
btns['Yes'] = function() {

  // Here you have to reference the real dialog
  $('#dialog').dialog("close");
  alert('come here');
  var stra_validator = $("#form").validate(form_rule);
  stra_validator.reset();

  return stra_validator.form();
  // continue the process
};
btns['No'] = function() {
  $('#dialog').dialog("close");
  $('#someID').focus();

  return false;
};

// Never created a div on the fly but it's working well and I just added an ID
$('<div id="dialog"></div>').dialog({
autoOpen : true,
title : 'Condition',
modal : true,
buttons : btns
});