ie9 form submit 请求参数问题替代办法

 

//隐藏表单

<input id="hdPeriod" name="period" type="hidden" value="" />

//js提交代码

$("#hdPeriod").val(data.Guid);
document.forms[0].submit();

//后台取值为:

Request.Params["period"]

上面代码ie9以上的都可以取到值,但就是ie9及以下不行

于是了一下js代码就可以了如下:

function changeURLArg(url, arg, arg_val) {
            var pattern = arg + '=([^&]*)';
            var replaceText = arg + '=' + arg_val;
            if (url.match(pattern)) {
                var tmp = '/(' + arg + '=)([^&]*)/gi';
                tmp = url.replace(eval(tmp), replaceText);
                return tmp;
            } else {
                if (url.match('[\?]')) {
                    return url + '&' + replaceText;
                } else {
                    return url + '?' + replaceText;
                }
            }
        }

       $("#hdPeriod").val(data.Guid);
       window.location.href = changeURLArg(window.location.href, 'period', data.Guid)

 

posted @ 2017-12-25 13:38  三瑞  阅读(252)  评论(0编辑  收藏  举报