2

我的警报已达到并有效,但关闭方法不起作用。知道为什么吗?

我的JavaScript:

  var myDialog = $('#divContactUs');

  myDialog.dialog({
               autoOpen: false,
               title: "Send Us A Note:",
               modal: true,
               buttons: [{
                   id: "btn-send",
                   text: "Send",
                   click: function () {
                       // you can now use the reference to the dialog
                       myDialog.dialog("close");
                       alert('test');
                   }
               }]

           });
       });

还有我的html:

<div id="divContactUs" style="display:none">
Name: &nbsp <input type="text" name="Name" /><br />
Email: &nbsp <input type="text" name="Email" /><br />
Phone: &nbsp <input type="text" name="Phone" /><br />
Message:<br />
<textarea name="Message"></textarea>
</div>
4

3 回答 3

2

在按钮的范围内单击$(this)是指按钮,而不是模态。我会先将模态选择器设置为一个变量,然后再引用它;

var myDialog = $('#divContactUs');

myDialog.dialog({
    autoOpen: false,
    title: "Send Us A Note:",
    modal: true,
    buttons: [{
        id:"btn-send",
        text: "Send",
        click: function() {
            // you can now use the reference to the dialog
            myDialog.dialog("close")
        }
    }
});
于 2013-07-27T21:11:29.493 回答
0

您的脚本正在运行。不要忘记在行;尾添加分号$(this).dialog("close");

这是一个 jsFiddle 来证明它JsFiddle

于 2013-07-27T22:07:05.040 回答
0

有时 IE 会抛出错误“未指定的错误”。

try{ 
    $(selector).dialog("close");.
}catch(e){
    $(selector).parent().hide();
}
于 2017-08-08T11:08:32.323 回答