我有一个在IE和Chrome中工作得很好的页面,但在Firefox和Opera中不起作用.当我说这不工作,我的意思是提交按钮根本不做任何事情.它是一个带有几个嵌套UpdatePanels的页面,还有一些jQueryUI手风琴.
我有一个简单的div.
- <div id="date-dialog" title="Date?">
- <label id="lblDate" for="txtDate">
- Please Enter Your The Date:
- </label>
- <input type="text" id="txtDate" class="text ui-widget-content ui-corner-all" />
- </div>
然后我有一些简单的代码把它变成一个对话框:
- $('#date-dialog').dialog({
- autoOpen: false,modal: true,resizable: false,buttons: {
- "Submit": function () {
- __doPostBack('DateButton',$('#txtDate').val());
- },"Cancel": function () {
- $(this).dialog("close");
- }
- }
- });
- $('#txtDate').datepicker({ dateFormat: 'yy-mm-dd' });
我也试过添加这个,这不是有帮助的,实际上并不适用于模态对话框:
- open: function (type,data) {
- $(this).parent().appendTo("form");
- },
在Firefox中,我收到以下错误:
- Error: TypeError: access to strict mode caller function is censored
- Source File: http://ajax.microsoft.com/ajax/4.0/2/MicrosoftAjaxWebForms.debug.js
- Line: 718
我不知道该怎么办来解决这个问题.我想要关闭严格的模式,但是我找不到任何有关如何做的信息.我几乎找不到任何有关该错误的信息.好像我在做什么应该很简单.
解决方法
这是一个老帖子,但这个问题今天仍然发生在我身上.
我不想使用按钮的点击,所以我试过一个setTimeout,它也可以.
我不想使用按钮的点击,所以我试过一个setTimeout,它也可以.
对于有这个问题的人,请尝试此解决方案:
- setTimeout(function() { __doPostBack('DateButton',$('#txtDate').val()); },1);