2012-06-01 26 views
0

这里不能正常工作是我一直在使用jQuery UI的模式代码:jQuery的模态弹出的IE

//jQuery form dialog modal popup and submit 
$(function() { 
$("#facilitiesForm").validate(); 

$("#facilityForm").dialog({ 
    autoOpen: false, 
    height: 470, 
    width: 650, 
    modal: true, 
    buttons: { 
     "Send To The Facilities Manager": function() { 
      $("#facilitiesForm").submit(); 
     }, 
     "Cancel": function() { 
      $(this).dialog("close"); 
     }, 
    }, 
    close: function() { 
     allFields.val("").removeClass("ui-state-error"); 
    } 
}); 

$("#helpForm").validate(); 

$("#helpdeskForm").dialog({ 
    autoOpen: false, 
    height: 570, 
    width: 650, 
    modal: true, 
    buttons: { 
     "Send To The Helpdesk": function() { 
      $("#helpForm").submit(); 
     }, 
     "Cancel": function() { 
      $(this).dialog("close"); 
     }, 
    }, 
    close: function() { 
     allFields.val("").removeClass("ui-state-error"); 
    } 
}); 

$("#adminForm").validate(); 

$("#adminTasksForm").dialog({ 
    autoOpen: false, 
    height: 470, 
    width: 650, 
    modal: true, 
    buttons: { 
     "Send To The Admin": function() { 
      $("#adminForm").submit(); 
     }, 
     "Cancel": function() { 
      $(this).dialog("close"); 
     }, 
    }, 
    close: function() { 
     allFields.val("").removeClass("ui-state-error"); 
    } 
}); 

$("#contactFacilityManager") 
    //.button() 
    .click(function() { 
     $("#facilityForm").dialog("open"); 
    }); 

$("#contactHelpdesk") 
    //.button() 
    .click(function() { 
     $("#helpdeskForm").dialog("open"); 
    }); 

$("#contactAdminTasks") 
    //.button() 
    .click(function() { 
     $("#adminTasksForm").dialog("open"); 
    }); 

}); 

我刚开始注意到一个bug,弹出框不会在IE浏览器。我得到的错误是:

Webpage error details 

Message: Expected identifier, string or number 
Line: 16 
Char: 6 
Code: 0 
URI: http://newintranet/js/script.js 

任何想法,为什么这不会在IE浏览器(正常工作的Chrome和FF)?

回答

4

因为在IE中它在下面的代码中抛出语法错误。删除额外的逗号,它会正常工作。

buttons: { 
     "Send To The Helpdesk": function() { 
      $("#helpForm").submit(); 
     }, 
     "Cancel": function() { 
      $(this).dialog("close"); 
     }, //extra comma here 
    } 
+0

澄清:只有IE介意尾随逗号。其他浏览器不关心。 – Kreegr

+0

是的,我发布后几分钟就注意到了。感谢您的发现......网页上还有更多...可以发誓我直接从jquery-ui网站上复制这些内容! – ClaytonDaniels

4

对于“取消”功能的右大括号和buttons对象的右大括号之间的第16行,您有一个额外的逗号。

您实际上在第36行和第56行再次犯了同样的错误两次。每次在指定对话框的按钮结束时。

IE将此视为语法错误,其他浏览器比较宽松(毕竟,逗号后面的空语句没有任何影响)。

+0

是的,注意到我发布几分钟后。感谢您的发现...可以发誓我直接从jquery-ui网站复制这个!对不起,我不能提供两个绿色的复选标记! – ClaytonDaniels