Как получить параметры URL после перенаправления с помощью JavaScript? - PullRequest
0 голосов
/ 26 февраля 2012

После замены местоположения новыми параметрами страница после загрузки не получает значения параметров, несмотря на то, что в параметрах есть значения, используемые кодом:

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);
});

this alert(div); return undefined .. несмотря на то, что div vairable in click имеет значение

Ответы [ 2 ]

0 голосов
/ 26 февраля 2012

Вместо того, чтобы возиться с URL-адресами самостоятельно, вы можете использовать библиотеку для работы - например, 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 голосов
/ 26 февраля 2012

Попробуйте кодировать параметры, а также отменить действие по умолчанию в событии щелчка:

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;
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...