无法将HTML标记的数据复制到JavaScript
由于某些原因,我试图更改submit按钮的功能。我在将数据从HTML标记复制到JS时遇到了问题。以下代码生成的警报将打印“未定义”而不是标记内的数据无法将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
<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)的可能重复项