2012-02-26 56 views
0

replacign用新的参数的位置后,加载后的页面没有得到PARAMATERS值,尽管有值的参数 所使用的代码是:如何使用javascript重定向后获取URL参数?

function getURLParameter(name) { 
    return 
    decodeURI((RegExp(name + '=' + '(.+?)(&|$)').exec(location.search) || [, null])[1]); 
} 

$(document).ready(function() { 
    $(".sub").slideUp(); 
    var div = getURLParameter("div"); 
    var ddl = getURLParameter("ddl"); 
    alert(div); 
    //   alert("ManageTrainingNeeds.aspx?div=" + div + "&ddl=" + ddl); 
    // $("#" + div).slideDown(); 
    // $("#ddlObjectiveGroup").val("'" + ddl + "'");  
}); 
$(".btnAddSub").live("click", function() { 
    var diva = $(this).parent().parent().parent().parent().parent().parent().attr("id"); 
    var ddl = $("#ddlObjectiveGroup option:selected").val(); 
    window.location.replace("ManageTrainingNeeds.aspx?div=" + diva + "&ddl=" + ddl); 
}); 

alert(div);返回undefined ..尽管div在点击事件vairable有一个值

回答

0

尝试编码参数,并取消在点击事件的默认操作:

function getURLParameter(name) { 
    return decodeURIComponent((RegExp(name + '=' + '(.+?)(&|$)').exec(location.search) || [, null])[1]); 
} 

$(document).ready(function() { 
    var div = getURLParameter('div'); 
    var ddl = getURLParameter('ddl'); 
    alert(div + ' ' + ddl); 
}); 

$('.btnAddSub').live('click', function() { 
    var diva = encodeURIComponent($(this).parent().parent().parent().parent().parent().parent().attr('id')); 
    var ddl = encodeURIComponent($('#ddlObjectiveGroup').val()); 
    window.location.replace('/ManageTrainingNeeds.aspx?div=' + diva + '&ddl=' + ddl); 
    return false; 
}); 
0

您可以使用库来完成这项工作,而不是自己处理网址,例如URI.js。 (抱歉的自我宣传)

$(document).ready(function() { 
    var search = URI().search(true); 
    alert(search.div + ' ' + search.ddl); 
}); 

$('.btnAddSub').live('click', function (e) { 
    var uri = URI('/ManageTrainingNeeds.aspx'); 
    uri.search({ 
     diva: $(this).parent().parent().parent().parent().parent().parent().attr('id'), 
     ddl: $('#ddlObjectiveGroup').val() 
    }); 
    window.location.href = uri.toString(); 
    e.preventDefault(); 
}); 
+0

URI.js是伟大的。 – 2012-02-26 10:55:38