【发布时间】:2011-09-20 18:53:57
【问题描述】:
症状 这适用于Wordpress blog,其中有一个链接用于激活包含表单的对话框。该链接和对话框在网站的任何页面上都可用。它们由为网站审阅者设置的 cookie 激活。
- 条件 1 - 第一次访问主页时,对话框中不会加载内容
- 条件 2 - 首次访问时,转到除主页以外的任何其他主页,对话内容将按预期加载。
- 条件 3 - 第一次访问时,转到除主页以外的任何主页,然后返回主页。内容将按预期加载到对话框中。
- 条件 4 - 先到主页,然后重新加载页面。内容不会加载。
问题:我正在寻找有关问题可能来源的想法。
通过查看 firebug 可以清楚地看出 .load 函数没有将内容加载到页面,见下文。但是,我对使用 firebug 检测可能导致问题的原因不够了解。 另请注意,这不是 cookie 问题。 cookie 显示了对话框的链接,并且该部分工作正常。
加载内容的脚本
jQuery(document).ready(function ($) {
$('#testform a').each(function(){
//set up variables
var cancel = function() {
$dialog.dialog('close');
};
//identify link to feedback form
$link=$(this);
//dialog variables
$dialog=$('<div id="form1container"></div>')
.load($link.attr('href') + ' #form_container' ,function(){
var testformoptions = {
target : "#output1",
url: 'http://www.business-navigation.com/value/review/form1_processing.php',
clearForm: 'true'
};
var form2options = {
target : "#output2",
url: 'http://www.business-navigation.com/value/review/form2_processing.php',
clearForm: 'true'
};
var form3options = {
target : '#output3',
url: 'http://www.business-navigation.com/value/review/form3_processing.php',
clearForm: 'true'
};
jQuery('#myform').ajaxForm(testformoptions);//prepare form
jQuery('#error_in_text').ajaxForm(form2options);//prepare form2
$('#confusing_layout').ajaxForm(form3options);// Prepare form 3
return false;
})
.dialog({
autoOpen: false,
buttons: { "Close": cancel, "Cancel": cancel},
title: $link.attr('title'),
width: 600
});
$link.click( function (){
$('div#output1, div#output2, div#output3').empty();
});
$link.click( function(){
$dialog.dialog('open');
$( "#accordion" ).accordion({
collapsible: true,
active: false,
fillSpace: true,
clearStyle: true
});
return false;
});
});
});
任何关于问题可能来源的想法或想法将不胜感激。
谢谢。
【问题讨论】:
标签: jquery ajax wordpress forms dialog