如何用Javascript构建查询字符串 [英] How to build query string with Javascript
问题描述
只是想知道是否有任何JavaScript内置的可以接受Form并返回查询参数的内容,例如:var1 = value& var2 = value2& arr [] = foo& arr [] = bar ...
我多年来一直在想这件事。
前段时间我尝试搜索这个问题的答案,但是我最终编写了自己的函数,从表单中提取值。
这不是完美的,但是它符合我的需求。
pre $函数form_params(形式)
{
var params = new Array()
var length = form.elements.length
for(var i = 0; i< length; i ++)
{
element = form.elements [i] $ b $ (元素标签=='TEXTAREA')
{
params [元素名称] =元素值
}
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
}
}
}
返回params;
$ b $> form_params返回参数的一个(键 - >值)映射。
输入是表单元素(DOM元素)
它不处理允许多选的字段。
Just wondering if there is anything built-in to Javascript that can take a Form and return the query parameters, eg: "var1=value&var2=value2&arr[]=foo&arr[]=bar..."
I've been wondering this for years.
I tried to search for an answer to this question some while ago, but I ended up writing my own function that extracts the values from the form ..
it's not perfect but it fits my needs.
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 returns a (key -> value) mapping of the parameters. the input is the form element (DOM Element)
It doesn't handle fields that allow multiple selection.
这篇关于如何用Javascript构建查询字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!