Javascript 使用getElementById时,在jsp中仅获取空值
当我试图通过在jsp中使用getElementById将值从html传递到javascript时,获取空值Javascript 使用getElementById时,在jsp中仅获取空值,javascript,html,jsp,Javascript,Html,Jsp,当我试图通过在jsp中使用getElementById将值从html传递到javascript时,获取空值 <%@page contentType="text/html" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; ch
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<form method="POST" >
Name<input type="text" name="name" value="" id="name" onblur="Auto()"><br>
Value<input type="text" name="auto">
</form>
<script type="text/javascript">
function Auto(){
var name=document.getElementById(name);
document.write(name);
}
</script>
</body>
</html>
JSP页面
名称
价值
函数Auto(){
var name=document.getElementById(名称);
文件。填写(姓名);
}
您尚未为name
赋值(在计算getElementById
时),因此它是隐式未定义的。(提升var
语句以声明变量,这意味着您没有触摸window.name
)
您没有任何与该字符串值匹配的元素(“undefined”
),因此getElementById
返回null
您需要使用字符串文字:
var name=document.getElementById("name");
当您尝试按id访问元素时,您需要用逗号传递元素的名称,这里您尝试传递一个变量。
所以试试这个:
var name=document.getElementById('name');
您必须将名称用引号括起来,如“name”
所示。然后您必须使用.value
否则将显示[object HTMLInputElement]
这是有效的
JSP页面
名称
值
函数Auto(){
var name=document.getElementById(“名称”).value
文件。填写(姓名);
}
名称
是一个字符串。改为使用“name”
。您需要在倒逗号内传递名称。像这样放置“name”时,我得到了[object HTMLInputElement]。“逗号”-撇号不是逗号。像这样放置“name”时,我得到了[object HTMLInputElement]。