javascript - document.getElementById ("#").innerHTML = "Hello "+ 用户 + "!";不工作

标签 javascript html input

我有一个 javascript 函数如下:

function userNameEntered() {
var user = document.forms["user"] ["name"].value;
document.getElementById("Name").innerHTML = "Hello " + text + "!";
}

它访问这个 <form> :

<form method="get" name="user" onsubmit="userNameEntered()">
<p>Name:</p>
<input type="text" name="name" autocomplete="off" id="username">
<input type="submit" onclick="userNameEntered()" value="Submit" id="usersubmit">
</form>

当我尝试它时,我看到文本工具不到一秒钟就消失了。有任何想法吗?我想这可能是因为 user不在全局范围内,所以我尝试在函数之前声明它,但它根本没有显示。我有点困惑,因为我看不到任何可能的问题。

最佳答案

通过从 onsubmit 处理程序 (onsubmit="return userNameEntered()") 返回 false 来阻止默认表单操作(提交时重新加载页面)。您还需要从 userNameEntered 函数返回 false

然后,记得删除多余的 onclick 处理程序(避免使用 onclick 进行表单提交)并在某处添加 id="Name"的元素。

function userNameEntered() {
  var user = document.forms["user"]["name"].value;
  document.getElementById("Name").innerHTML = "Hello " + user + "!";
  return false;
}
<form method="get" name="user" onsubmit="return userNameEntered()">
  <p>Name: <span id="Name"></span></p>
  <input type="text" name="name" autocomplete="off" id="username">
  <input type="submit" value="Submit" id="usersubmit">
</form>

另请注意,您可能需要 "Hello "+ user + "!"; 而不是 text

关于javascript - document.getElementById ("#").innerHTML = "Hello "+ 用户 + "!";不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36370285/

相关文章:

javascript - Apps 脚本极慢或无休止 "Preparing for execution..."

javascript - 类型错误 : Cannot read property '0' of undefined. Jasmine

html - 如何更改导航栏的颜色?

java - 如何扫描输入文件?

javascript - 如何检查焦点上的每个输入

java - 控制台输入在不应该等待的时候等待

javascript - 直接在 MongoDB 中引用 ObjectID 可以,但在 Mongoose 中不行

javascript - 设置 onClick 导致无限循环

javascript - 可拖动滚动和移动设备上的潜在问题

html - 屏幕最小化时标题照片(导航栏上方)消失