我希望有人可以指出一个相对的 jQuery/jqModal 新手正确的方向来调试这个错误。我正在将 html 片段加载到 div 中,然后使用 jqModal 将该 div 显示为模式对话框。问题是显示了 div,但没有显示我更新的 html。
我在 jquery 调用的响应中显示我的 jqModal 对话框,函数 foo 从 onclick 事件中调用:
function foo(url)
{
$.ajax({
type: "GET",
url: url,
success: function(msg)
{
$('#ajaxmodal').html(msg);
$('#ajaxmodal').jqmShow();
}
});
}
ajaxmodal 是一个简单的 div。
最初我认为问题一定出在我传递给回调的 html 片段(msg)中,但我不认为就是这样,即使我注释掉 $('#ajaxmodal ').html(msg) 行或将其传递给硬编码 html。我想我已经正确配置了 jqModal,使用我们的 ajaxmodal div 的其他调用正常工作,我能够显示模式,根据服务器响应更新内容等。
当我尝试在 firebug 中调试时,在调用 .jqmShow() 后出现以下错误。我有时在其他地方看到错误,似乎页面可能还没有加载,我承认我对此感到困惑,因为我们已经将 jqModal 选择器包装在 $(document).ready()电话,所以也许我有一个更大的问题是这个电话恰好触发了?
从 jquery.jqModal.js 文件的第 64 行: js err is $(':input:visible',hw)[0] 在行中未定义:
f=function(h){try{$(':input:visible',h.w)[0].focus();}catch(_){}}
当我在 Firefox 中逐步执行此操作时,hw[0] 似乎没问题,它引用了我们的 '#ajaxmodal' div。
提前感谢您在跟踪此问题方面的任何建议?