![](/img/trans.png)
[英]Why doesn't this javascript code work in Internet Explorer?
[英]Why the querySelector (JavaScript) doesn't work with Internet Explorer?
我下面有以下代码,应该将值从一个HTML页面传递到另一个HTML页面。 该代码可在Firefox上正常运行,但不适用于IE11。能否请您告诉我为什么代码不起作用? 提前致谢
表格
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>OrderUp</title>
</head>
<body>
<form method="get" action="results.html" >
Name : <input name = "name" type= "text" id="name">
<br>
<input value = "Submit" type = "submit" >
</form>
</body>
</Html>
结果HTML
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Results</title>
</head>
<body>
<h2> Your Form Has Been Submitted </h2>
<div class = "first"> Name: </div>
<script>
let params = (new URL(document.location)).searchParams;
let name = params.get("name");
console.log(name)
document.querySelector('.first').innerText += name;
</script>
</body>
</html>
您遇到的问题是您使用的是IE11不支持的功能(let,URL API)。 查看我的评论。 以下在IE11中对我有用。 它基于此stackoverflow post 。 相反,如果您想使用ES6语法,则可以尝试将ES6转换为ES5。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Results</title>
<script>
var parseQueryString = function() {
var str = window.location.search;
var objURL = {};
str.replace(
new RegExp( "([^?=&]+)(=([^&]*))?", "g" ),
function( $0, $1, $2, $3 ){
objURL[ $1 ] = $3;
}
);
return objURL;
};
</script>
</head>
<body>
<h2> Your Form Has Been Submitted </h2>
<div class = "first"> Name: </div>
<script>
var params = parseQueryString();
var name = params["name"];
console.log(name)
document.querySelector('.first').innerText += name;
</script>
</body>
</html>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.