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

Posted 三瑞

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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)

 

以上是关于ie9 form submit 请求参数问题替代办法的主要内容,如果未能解决你的问题,请参考以下文章

form表单如何取得返回值

html 表单一定要用submit提交吗

如何将数据附加到请求 form.submit()

Form表单如何传递List数组对象到后台的解决办

替代在 url 中使用 hashbangs 来解决 IE9 问题

dojox/form/Uploader 附加参数