js的form表单提交url传参数(包含+等特殊字符)的两种解决方法

JavaScript016

js的form表单提交url传参数(包含+等特殊字符)的两种解决方法,第1张

方法一:(伪装form表单提交)

linkredwin

=

function(A,B,C,D,E,F,G){

var

formredwin

=

document.createElement("form")

formredwin.method

=

'POST'

document.body.appendChild(formredwin)

formredwin.action

=

"http://www.A.com/A.wiki?A="

+encodeURI(A)

+

"&B="

+encodeURIComponent(B)

+

"&C="

+encodeURI(C)

+

"&D="

+encodeURI(D)

+

"&E="

+encodeURI(E)

+

"&F="

+encodeURI(F)

+"&G="+encodeURI(G)

formredwin.submit()

formredwin.parentNode.removeChild(formredwin)

}

方法二:

1.

+

URL

中+号表示空格

%2B

2.

空格

URL中的空格可以用+号或者编码

%20

3.

/

分隔目录和子目录

%2F

4.

?

分隔实际的

URL

和参数

%3F

5.

%

指定特殊字符

%25

6.

#

表示书签

%23

7.

&

URL

中指定的参数间的分隔符

%26

8.

=

URL

中指定参数的值

%3D

以上这篇js的form表单提交url传参数(包含+等特殊字符)的两种解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

比如在html中有个表单:

<form id="myForm" action="form_action.asp" method="get" target="_blank">

    <p>name: <input type="text" name="name" /></p>

    <p>age: <input type="text" name="age" /></p>

    <input type="submit" value="Submit" />

</form>

可以编写以下js函数来修改表单的action以及target:

function modifyForm(){

var myForm = document.forms[0]//获取表单,也可以通过id获取

myForm.setAttribute('action','newurl')//或者 myForm.action='newurl'

myForm.setAttribute('target','_parent')//或者 myForm.target='_parent'

alert(myForm.action + "," + myForm.target)//测试修改后的效果

}

定义和用法

<form>标签用于为用户输入创建 HTML 表单。

表单能够包含 input 元素,比如文本字段、复选框、单选框、提交按钮等等。

表单还可以包含 menus、textarea、fieldset、legend 和 label 元素。

表单用于向服务器传输数据。

<form>标签支持所有的浏览器。

例子

<form action="form_action.asp" method="get">

  <p>First name: <input type="text" name="fname" /></p>

  <p>Last name: <input type="text" name="lname" /></p>

  <input type="submit" value="Submit" />

</form>