一尘不染

如何使用Javascript建立查询字串

javascript

只是想知道Javascript是否内置可以采用Form并返回查询参数的任何内容,例如:“ var1 = value&var2 = value2&arr []
= foo&arr [] = bar …”

我多年来一直在想这个问题。


阅读 300

收藏
2020-05-01

共1个答案

一尘不染

一段时间前,我试图寻找该问题的答案,但最终我写了我自己的函数,该函数从表单中提取值。

它不是完美的,但符合我的需求。

function form_params( form )
{
    var params = new Array()
    var length = form.elements.length
    for( var i = 0; i < length; i++ )
    {
        element = form.elements[i]

        if(element.tagName == 'TEXTAREA' )
        {
            params[element.name] = element.value
        }
        else if( element.tagName == 'INPUT' )
        {
            if( element.type == 'text' || element.type == 'hidden' || element.type == 'password')
            {
                params[element.name] = element.value
            }
            else if( element.type == 'radio' && element.checked )
            {
                if( !element.value )
                    params[element.name] = "on"
                else
                    params[element.name] = element.value

            }
            else if( element.type == 'checkbox' && element.checked )
            {
                if( !element.value )
                    params[element.name] = "on"
                else
                    params[element.name] = element.value
            }
        }
    }
    return params;
}

form_params返回参数的(键->值)映射。输入是表单元素(DOM元素)

它不处理允许多选的字段。

2020-05-01