[英]Javascript - Get Value from form by Get method
我无法将来自client.html表单输入中的值打印到server.html中的表。 它必须使用Javascript并通过使用GET方法编写。
client.html:
<form action="server.html" method="get">
<p>
Name:
<input type="text" id="txtname" name="txtname" />
</p>
</form>
server.html:
<head>
<script type="text/javascript">
function getUrlVars() {
var vars = {};
var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi,
function (m, key, value) {
vars[key] = value;
});
return vars;
}
var name= unescape(getUrlVars()[document.getElementById("txtname")]);
document.getElementById("idname").innerHTML=name;
</script>
</head>
<body>
<table>
<tr>
<td>Name:</td>
<td id="idname"></td>
</tr>
</table>
<body>
这里有几件事:
您正在尝试将#idname
的innerHTML
设置为hoten.value
,这是未定义的。
getUrlVars()[docuemnt.getElementById("txtname")]
也不会验证。 您可以简单地使用getUrlVars().txtname
来获取查询参数。
您还试图在处理DOM之前设置值-JS无法设置元素的值,因为尚未将其放置在页面上。
修复错误并将JS移动到body标签的末尾可解决此问题:
<head>
</head>
<body>
<table>
<tr>
<td>Name:</td>
<td id="idname"></td>
</tr>
</table>
<script type="text/javascript">
function getUrlVars() {
var vars = {};
var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi,
function (m, key, value) {
vars[key] = value;
});
return vars;
}
var name= unescape(getUrlVars().txtname);
document.getElementById("idname").innerHTML = name;
</script>
</body>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.