我正在使用jQueryUI dialog在我的网站上打开模式表单。表单有一个隐藏的输入,用于传递在查询字符串中传递的联盟代码,如
http://mydomain.com/page1_with_form?affiliate=Chuck%20Norris
http://mydomain.com/page2_with_form?affiliate=Chuck%20Berry
我正在使用jQuery plugin来轻松获取GET值。
两个页面(page1_with_form和page2_with_form)都在对话框中加载了相同的模式形式my_affiliate_form.html。我在my_affiliate_form.html页面上做这样的事情没有问题
var affiliate_code = $.query.get('affiliate');
if (!affiliate_code) affiliate_code = "None";
$('[name=hidden_affiliate_field]').val(affiliate_code);
这只是花花公子,我的会员最终成为Chuck Norris和Chuck Berry。
问题是,现在我不仅要包含查询字符串中的联盟代码,还要使用代表他们加载表单的页面的密钥,即。 page1_with_form和page2_with_form)。对于page1,键可能是“Public”,而page2可能是“Private”,或者类似的东西。
现在我想要它在我的隐藏字段在点击此页面时具有“公共查克诺里斯”的值 http://mydomain.com/page1_with_form?affiliate=Chuck%20Norris 点击此页http://mydomain.com/page2_with_form?affiliate=Chuck%20Norris
时出现“私人查克诺里斯”我正在加载对话框内容:
$('#modal-form-holder').dialog({
bgiframe:true,
width:width,
title: title,
modal:true,
resizable: false,
closeOnEscape: true,
draggable: false,
autoOpen:false
}).load("my_affiliate_form.html?affiliate_key=" + key, null, onComplete);
密钥的值正在填写正确,但如果my_affiliate_form.html尝试通过$ .query.get('affiliate_key')抓取“affiliate_key”,则为空。这是因为查询window.location中的查询插件没有改变。
如何获取ajax请求中的my_affiliate_form.html中的请求参数?
对于如此冗长而感到抱歉,我只想尽可能清楚地表达我的问题。
答案 0 :(得分:0)
在onComplete处理程序中设置值。类似的东西:
$('#modal-form-holder').dialog({
bgiframe:true,
width:width,
title: title,
modal:true,
resizable: false,
closeOnEscape: true,
draggable: false,
autoOpen:false
}).load("my_affiliate_form.html", null, function(responseText, textStatus, XMLHttpRequest)
{
onComplete(responseText, textStatus, XMLHttpRequest, key);
});
然后,在onComplete(应定义为采用所有四个参数)中,使用密钥填充affiliate_key字段。