onclick='js_aup_more({aaa:"1",bbb:"2"});'

/**

  • 追加多个地址参数(参数不存在则追加,参数存在则修改)
  • 参数params_values {参数名:参数值,参数名:参数值}
    @ps 此函数默认使用的url模式为普通模式,在支持pathinfo url地址模式的框架时,请填写上第三个参数'/'
    @ps2 2014/5/26 增加有子目录的pathinfo地址的支持(制作英文版可以会用到),第四个参数为子目录,如:"/en"
    @例如 js_aup('p','3','/','/en');
    */

function js_aup_more(params_values){

if(!params_values || typeof(params_values)!== "object"){
    return false;
}
var delimter = arguments[2] || '&';
var subcatalog = arguments[3] || '';
var just_return = arguments[4] || false;
var location_search = arguments[5] || location.search;
var newurl = '';
if(delimter == '/'){ //pathinfo模式
    var query_string = location.pathname.replace(subcatalog,'');
    var arr = query_string.split('/');
    var paremters_obj = {};
    for(var i=4; i<arr.length; i+=2){
        paremters_obj[arr[i]] = arr[i+1];
    }
    for(var key in params_values)
    {
        if(params_values[key] === null || params_values[key]===''){
            delete(paremters_obj[key]);
        }else{
            paremters_obj[key] = params_values[key];
        }
    }
    for(var key in paremters_obj){
        newurl += key + '/' + paremters_obj[key] + '/';
    }
    newurl = subcatalog + '/' + arr[1] + '/' + arr[2] + '/' + arr[3] + '/' +newurl.substr(0,newurl.length-1);
}else{ //普通模式
    var paramters = location_search.getQuery();
    if(paramters==false){
        var n_url='';
        for(var key in params_values)
        {
            if(params_values[key] !== null && params_values[key]){
                n_url +=n_url?'&'+newurl+key+'='+params_values[key]:newurl+key+'='+params_values[key];
            }
        }
        if(n_url){
            newurl = '?'+n_url;
        }
    }else{
        for(var key in params_values)
        {
            if(params_values[key] === null || params_values[key]===''){
                delete(paramters[key]);
            }else{
                paramters[key] = params_values[key];
            }
        }
        for(var key in paramters){
            newurl += key + '=' + paramters[key] + '&';
        }
        newurl = '?' + newurl.substr(0,newurl.length-1);
    }
}

if(newurl=='?'){
    newurl = document.url || location.href;
    newurl = newurl.replace(location.search,'');
}
if(just_return){
    return newurl;
}else{
    location.href = newurl;
}

}

标签: none

添加新评论