为self.location设置两个ID的值

时间:2015-05-28 18:27:58

标签: javascript

我有一个JavaScript函数

function reload2(form)
{   
    var val=form.loc.options[form.loc.options.selectedIndex].value;
    var val2 = form.category.options[form.category.options.selectedIndex].value;
    self.location='upload.php?category=' + val2;

}

在函数中,val 1的值存储id'loc'的值,val2存储id ='category'的值。

self.location仅将类别设置为值2,但我还希望loc的值变为val1。 (这样在重新加载时,loccategory的值都会被保留。

为了达到这个目的,我该怎么做?

2 个答案:

答案 0 :(得分:1)

您看起来想要来自网址的参数。

改变你的重装功能:

char[]

然后当重新加载页面时,抓住新参数:

function reload2(form)
        {   
            var val1=form.loc.options[form.loc.options.selectedIndex].value;
            var val2 = form.category.options[form.category.options.selectedIndex].value;
            self.location='upload.php?category=' + val2 + '&loc=' + val1;

        }

使用How to get the value from the GET parameters?

中的此功能
//some on load functionality
var loc= getQueryParams(document.location.search).loc;

答案 1 :(得分:0)

你需要建立如下的查询字符串。

function getQueryParams(qs) {
    qs = qs.split("+").join(" ");

    var params = {}, tokens,
        re = /[?&]?([^=]+)=([^&]*)/g;

    while (tokens = re.exec(qs)) {
        params[decodeURIComponent(tokens[1])]
            = decodeURIComponent(tokens[2]);
    }

    return params;
}