Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用getElementById时,在jsp中仅获取空值_Javascript_Html_Jsp - Fatal编程技术网

Javascript 使用getElementById时,在jsp中仅获取空值

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

当我试图通过在jsp中使用getElementById将值从html传递到javascript时,获取空值

  <%@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]。