Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/137.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
IE8不使用jQuery对话框_Jquery_Internet Explorer_Jquery Ui_Dialog_Modal Dialog - Fatal编程技术网

IE8不使用jQuery对话框

IE8不使用jQuery对话框,jquery,internet-explorer,jquery-ui,dialog,modal-dialog,Jquery,Internet Explorer,Jquery Ui,Dialog,Modal Dialog,我有一个HTML表单: <div id="dialog" class="event-dialog" title="Create Event"> <div id="dialog-inner"> <table> <tr><td align="left">Event Name:</td><td align="left"><input type="text" name="name"

我有一个HTML表单:

<div id="dialog" class="event-dialog" title="Create Event">
    <div id="dialog-inner">
    <table>
        <tr><td align="left">Event Name:</td><td align="left"><input type="text" name="name" id="name" class="text ui-widget-content ui-corner-all title"></td></tr>
        <tr><td align="left" valign="top">Event Description:</td><td><textarea name="description" id="description" class="text ui-widget-content ui-corner-all" rows="3" cols="40"></textarea></td></tr>
        <tr><td align="left">All Day Event:</td><td align="left"><input id="all-day" type="checkbox" value="false"></td></tr>
     </table>
     </div>
</div>

我删除了jQuery代码中的一些内容,只是为了缩短代码以防StackOverflow。该代码可以在Chrome、Firefox、Safari等浏览器中使用,但由于某些原因,它只在IE8中显示对话框形式。你知道为什么它不会在IE8中隐藏表单吗?

我不久前也遇到过同样的事情。这就是你的HTML代码吗?如果没有,请确保在对话框div中不使用自动关闭标记

 <div id="dialog-save">
    <div id="content" /> //this one didn't work.
    <div id="content"></div> //this one worked.
 </div>

//这个不行。
//这个成功了。

出于某种原因,IE不喜欢jquery ui的自动关闭标签。

我也有类似的问题,但我的解决方案是另一个:在我的网站上有一些flash对象。这些对象由IE永久地在前景中渲染。结果是,对话框出现在flash对象后面,我只看到锁屏,没有对话框


我丑陋的解决方案是:在显示对话框之前隐藏flash对象。当对话框关闭时,我再次显示对象。那就行了。

在我的例子中,一个额外的结束div产生了问题

<div class="comment_video"  >
 // content
</div>
</div>  // this closing div is creating problem.

//内容
//此结束div正在产生问题。
我已经删除了最后一个额外的结束div,它工作得很好。 看起来IE 8对HTML标准非常严格


我希望有帮助

我通过添加带有jQuery的CSS类发现了相同的错误,如:

jQuery( "#dialog-noresult" ).dialog({
    modal: true,
    autoOpen: false,
    width: 500,
    height: 630,
    buttons: {
        "Cancel": {
             text: 'Cancel',
             class: 'dialog_Cancel',
             click: function() {
                 jQuery( this ).dialog( "close" );
             }
    }, ...
});
我通过在类选项中添加quote解决了这个问题

"class":'dialog_Cancel',

IE 8不会在加载时隐藏它,也不会在对话框中单击按钮时关闭它?@jk。它不会在Load上隐藏它我在IE8和更早版本中也有这个问题,当通过
$(')插入
对话框的元素时。appendTo(document.body)
通过简单的JS解决了这个问题:
var box=document.createElement('div');文件.正文.附件(框)这是我的代码。你是说用第一个还是第二个?@user1048676我已经更新了答案。使用第二个。您是否有机会动态填充
对话框内部的内容?我的意思是,您是否先将
设置为
显示,然后用数据填充div?如果不起作用,请尝试此操作-
显示显式设置为
无。或者将
display:none
移动到
.event dialog
css类中。实际上,由于某些原因,只有在两个隐藏字段中输入时,它才起不到作用。如果我加上这两个,它就不起作用了。当我去掉这两个字段时,它确实起作用了。HTML对这些字段无效。您没有关闭输入标记。问题中是否有任何迹象表明问题出在一个额外的关闭div标记上?这可能对最初的人没有帮助,但这也是同样的事情发生在我身上的原因
"class":'dialog_Cancel',