我正在开发的项目是一个列出产品的网页。只要您单击一个,产品信息就会在新窗口中打开,并且可以进行操作和保存。以下是在产品信息页面上提交表单的ajax函数。它应该提交表单,然后关闭页面并刷新父页面上的列表。
function submitForm()
{
if(!isSubmittingForm && isValidData())
{
isSubmittingForm = true;
$.ajax({
url: 'productsubmit?com='+com+'&entry='+product.Entry(),
data: $('#form').serialize(),
error: function(xhr, exception) {
isSubmittingForm = false;
},
success: function() {
if (window.opener && !window.opener.closed)
window.opener.refreshlist();
window.close();
isSubmittingForm = false;
}
});
}
}
当我点击调用此功能的按钮时,我收到以下错误:
TypeError: window.opener.refreshlist is not a function
但是,如果我在同一个函数中放置一个断点,单击该按钮,然后慢慢地逐步执行它我不会再出现错误,代码运行完全符合预期。即使我没有单击按钮并在检查器中键入window.opener.refreshlist(),它也会按预期运行。
有关正在发生的事情的任何线索?这一切都发生在Firefox上。