Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.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
无法将HTML标记的数据复制到JavaScript_Javascript_Html - Fatal编程技术网

无法将HTML标记的数据复制到JavaScript

无法将HTML标记的数据复制到JavaScript,javascript,html,Javascript,Html,由于某些原因,我试图更改submit按钮的功能。我在将数据从HTML标记复制到JS时遇到了问题。以下代码生成的警报将打印“未定义”而不是标记内的数据 <html> <body> <input class="inputtext" id="email" name="email" type="text"></div> <input value="Submit" name="v4l" id="login" class="input

由于某些原因,我试图更改submit按钮的功能。我在将数据从HTML标记复制到JS时遇到了问题。以下代码生成的警报将打印“未定义”而不是标记内的数据

<html>
  <body>
    <input class="inputtext" id="email" name="email" type="text"></div>
    <input value="Submit" name="v4l" id="login" class="inputsubmit" type="button" onclick="myFunction();return false">

    <script>    
      function myFunction() {
        var TestVar =document.getElementsByClassName('login').value;
        alert(TestVar);
      }
    </script>
  </body>
</html>

函数myFunction(){
var TestVar=document.getElementsByClassName('login')。值;
警报(TestVar);
}
我知道这可以通过形式来完成,但我需要这样做

getElementsByClassName
          ^
看到
s
了吗?元素是复数
getElementsByClassName
返回一个
NodeList
(类似于
数组

您必须从中选择一个索引(
foo[0]
),或者在其上循环以获取值


也就是说,您实际上没有属于
login
类的任何元素,因此它将返回一个长度为零的节点列表

您确实有一个带有
id=“login”
的元素,因此您可能应该改用
getElementById


从硬编码的元素中读取值似乎没有多大意义。实际上,您可能想使用
document.getElementById('email')
试试看

var TestVar = document.getElementById('email').value
alert(TestVar);

这将获取文本字段的值

您的意思是
getElementsByClassName(“登录”)[0]。值
?甚至是
getElementById(“登录”)。值
?(在您的情况下,
login
是输入的id)的可能重复项