gpt4 book ai didi

javascript - 如何根据用户输入用 JavaScript 启动字幕?

转载 作者:行者123 更新时间:2023-11-28 05:09:14 25 4
gpt4 key购买 nike

当用户将他们的名字放入文本框然后单击按钮时,我正在尝试使用 JavaScript 启动选取框。我知道如何去做,但我的脚本从来没有完全起作用。感谢您的帮助!

这是我目前所拥有的:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script type="text/javascript">
function StartMarquee() {
var text = document.getElementById(namebox);
if (text != null) {
document.write("<marquee behavior='scroll' direction='right'>Hello " + text + "!</marquee>");
}
else {
alert("Enter your name first!!!");
}
}
</script>
</head>
<body>
<table style="margin:0px auto 0px auto;">
<tr><td>Enter your name!</td>
<td><input type="text" id="namebox"/></td>
<td><input type="button" value="Enter" onclick="StartMarquee()"/></td></tr>
</table>
</body>
</html>

最佳答案

您的 JavaScript 有一些问题。

  1. 您正在将 undefined variable namebox 传递给 getElementById。您需要将其放在引号中 ('namebox')。
  2. 您需要根据空字符串检查 text 的值,而不是 null
  3. 您需要在您创建的元素中使用输入的值(text.value 而不仅仅是 text)。

以下是您的代码经过这些修复后的样子:

function StartMarquee() {
var text = document.getElementById('namebox');
if (text.value !== '') {
document.write("<marquee behavior='scroll' direction='right'>Hello " + text.value + "!</marquee>");
}
else {
alert("Enter your name first!!!");
}
}

其他一些一般性建议:

  1. 不要使用document.write。相反,使用 DOM 方法创建新元素并将其插入到 DOM 中。
  2. 使用低调的 JavaScript。在文档加载后附加您的行为,而不是使用内联事件处理程序。
  3. 使用 ===!== 作为条件来避免类型强制并确保您得到您认为的结果。
  4. 永远、永远不要使用marquee

关于javascript - 如何根据用户输入用 JavaScript 启动字幕?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2467049/

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