html超链接怎么传参数?

html超链接怎么传参数?,第1张

<a href="a.html?param=value&param1=value1&param2=value2">超链接</a>

如上代码a.html是需要连接的地址。后面紧接着"?"第一个参数名称"param"=参数值"value"&第二个参数名称"param1"=第二个参数值"value1"依次类推,有多少个参数写上多少个参数及参数值。需要注意的是除开第一个参数前面需要用"?"表示是参数开始之外其它参数用"&"相连。

在a.html中获取值可以通关window.location.href来获取。

下面是例子

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title></title>

    <script type="text/javascript">

        /**

         * 获取参数的键值对对象。

         * @returns {Object}

         */

        var getParam = function () {

            try{

            var url = window.location.href

            var result = url.split("?")[1]

            var keyValue = result.split("&")

            var obj = {}

            for (var i = 0 i < keyValue.length i++) {

                var item = keyValue[i].split("=")

                obj[item[0]] = item[1]

            }

            return obj}catch(e){

                console.warn("There has no param value!")

            }

        }

        /**

         * 页面加载完毕打印键值对对象

         */

        window.onload = function () {

            console.log(getParam())

        }

    </script>

</head>

<body>

</body>

</html>

html是静态页面,可以使用url链接传值,比如a.html和b.html两个页面

a.html中有一个链接

1

<a href="b.html?x=2&y=3">进入b.html</a>

可以使用到js,如下:

a.htm:

1

2

3

4

<form action="b.htm" >

<input name="q" type="text" value="" />

<input type="submit" value="提交" id="" />

</form>

b.htm

<html>

<body>

<div id="qbox"></div>

<script type="text/javascript">

function getArgs() {

var args = {}

var query = location.search.substring(1)

// Get query string

var pairs = query.split("&")

// Break at ampersand

for(var i = 0i <pairs.lengthi++) {

var pos = pairs[i].indexOf('=')

// Look for "name=value"

if (pos == -1) continue

// If not found, skip

var argname = pairs[i].substring(0,pos)// Extract the name

var value = pairs[i].substring(pos+1)// Extract the value

value = decodeURIComponent(value)// Decode it, if needed

args[argname] = value

// Store as a property

}

return args// Return the object

}

var str =getArgs()

alert(str['q'])//和input的name对应取值,

document.getElementById("qbox").innerHTML = str['q']//然后赋值给DIV

</script>

</body>

</html>

希望能帮到你哦!

一.通过表单简单的传输数据,利用js代码接收传递的数据,注意method属性要设为get。

<form id="form" action="data.html" method="get"></form>//action的值是你的目的html

在你的目的html中可通过url接收传递的数据,并将数据保存在一个对象中。

<script type="text/javascript" charset="utf-8">

window.onload = function() {

var url = window.location.search//location.search是从当前URL的?号开始的字符串

console.log(url)

var Request = new Object()

if (url.indexOf('?') != -1) {

var a = ''

var str = url.substr(1)  //去掉?号

strs = str.split('&')

for (var i = 0i <strs.lengthi++) {

a = strs[i].split('=')[0];

Request[a] = decodeURI(strs[i].split('=')[1])//解码,生成获取信息的对象

console.log(Request[a])

}

}

console.log(Request)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

注意这种方式传递中文数据需要用decodeURIComponent()或decodeURL()函数解码,unescape()现在似乎已经淘汰了。

然后利用document.write()或innerHTML等方法或函数将数据显示在网页上。此种方法适合自己平时写JS的小练习,此种方法无法将数据保存下来。

2.使用Cookie传递参数

下面是简单的实例,a页面保存Cookie,b页面读取。

a.html

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>a</title>

<script type="text/javascript">

/***

* @param {string} cookieName Cookie名称

* @param {string} cookieValue Cookie值

*/

function SetCookie(cookieName,cookieValue) {

/*设置Cookie值*/

document.cookie = cookieName + "=" + escape(cookieValue)

}

function login() {

var username = $("user").value

if(username.length>0 &&username) {

SetCookie("username", username)

/*跳转到b.html页面*/

document.location = "b.html"

}

}

function $(id) {

return document.getElementById(id)

}

</script>

</head>

<body>

<div id="main">

<div><span>请输入你的名字</span><input type="text" id="user" /></div>

<div>

<input type="button" onclick="login()" value="提交" />

</div>

</div>

</body>

</html>

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

b.html

<html>

<head>

<meta charset="UTF-8">

<title>b</title>

<script type="text/javascript">

/***

*读取指定的Cookie值

*@param {string} cookieName Cookie名称

*/

function ReadCookie(cookie_name){

//判断是否存在cookie

if (document.cookie.length >0){

//查询cookie开始部分

cookie_start = document.cookie.indexOf(cookie_name + "=")

//如果存在

if (cookie_start != -1){

//计算结束部分

cookie_start = cookie_start + cookie_name.length + 1

cookie_end = document.cookie.indexOf("", cookie_start)

//如果已经是最后一个cookie值,则取cookie长度

if (cookie_end == -1) {

cookie_end = document.cookie.length

}

//获取cookie值,unescape对特殊字符解密

return unescape(document.cookie.substring(cookie_start,cookie_end))

}

}

//其它情况返回空

return ""

}

function $(id) {

return document.getElementById(id)

}

function init() {

var username = ReadCookie("username")

if(username &&username.length>0) {

$("msg").innerHTML = "<h1>欢迎光临," + username + "!</h1>"

} else {

$("msg").innerHTML = "<a href='a.htm'>请录入名字</a>"

}

}

</script>

</head>

<body onload="init()">

<div id="msg"></div>

</body>

</html>

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

此种方法也是适合自己平时写JS的小练习,此种方法无法将数据保存下来。

3.通过web服务器利用前后端交互

前后端交互又可分为表单交互和url参数交互。表单交互是指在HTML中创建一个表单,用户填写表单后提交给服务器,服务器收到表单后返回处理结果。其大致构成如下:

URL参数经常用于浏览器向服务器提交一些请求信息。其流程图大致如下:

例如利用nodejs与json文件相连接,实现对本地json数据的增删改查,在不同网页间传递数据。

————————————————

版权声明:本文为CSDN博主「想躺」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/qq_41209003/article/details/103739371


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7074008.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-01
下一篇 2023-04-01

发表评论

登录后才能评论

评论列表(0条)

保存