我有这个HTML:
instanceof
这个Javascript在另一个文件中:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Notas</title>
<script type="text/javascript" src="notas.js"></script>
</head>
<body>
<p>Nombre alumno: </p>
<input type="text" name="nombre" id="nombre">
<p>Nota alumno:</p>
<input type="text" name="nota">
<p><br></p>
<input type="button" name="boton" value="Enviar" onclick="respuesta()">
</body>
</html>
问题是,当我点击按钮时,消息为“null” 我在论坛中看到了类似问题的解决方案,但由于有一个按钮,我不知道该怎么做。救命啊!
答案 0 :(得分:1)
那里有几个问题:
您尚未宣布nombrej
。 (并且不应该是nombre
?)这意味着您的代码会成为The Horror of Implict Globals 的牺牲品(我的博客上发布的帖子) 。声明你的变量。
您已将nombrej
设置为HTMLInputElement
。您可能想要它的值,即value
属性。
页面完成后调用document.write
会隐式调用document.open
,这会清除页面并将其替换为您编写的内容。
所以respuesta
可能看起来像这样:
function respuesta(){
var nombrej=document.getElementById("nombre").value;
// ^^^--- #1 ^^^^^^--- #2
console.log(nombrej);
// ^^^^^^^^^^^--- #3
}
附注:我们看到您已将script
标记放在head
部分中。你会发现很多人这样做并告诉你这样做,但这是一种反模式。除非您有特定的理由要做其他事情,否则请将script
标记放在body
的最后,就在结束</body>
标记之前。更多信息YUI's guidelines。
答案 1 :(得分:0)
JavaScript getElementById返回DOM元素。要获取该文本输入的值,您需要获取它的值。
而不是: nombrej =的document.getElementById(&#34; NOMBRE&#34);
使用: nombrej =的document.getElementById(&#34; NOMBRE&#34)。值;