gpt4 book ai didi

javascript - document.getElementById 用于外部 html 中的元素

转载 作者:行者123 更新时间:2023-12-03 06:00:16 24 4
gpt4 key购买 nike

我有这个html:

<!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>

这个 Javascript 在另一个文件中:

function respuesta(){

nombrej=document.getElementById("nombre");
document.write(nombrej);
}

问题是,当我单击按钮时,消息为“null”我在论坛中看到了类似问题的解决方案,但我不知道该怎么做,因为有一个按钮。救命!

最佳答案

这里有几个问题:

  1. 您尚未声明nombrej(不应该是 nombre 吗?) 这意味着您的代码正在成为 The Horror of Implict Globals 的牺牲品。 (这是我博客上的一篇文章)。声明您的变量。

  2. 您已设置 nombrejHTMLInputElement 。您可能想要它的值,该值位于其 value 上。属性(property)。

  3. 调用 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 .

关于javascript - document.getElementById 用于外部 html 中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39777047/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com