首页 > 解决方案 > 我无法在 html 中打印 js 变量

问题描述

当我尝试在h1标签中打印 js 变量时,它只打印 2 毫秒,然后消失。

function validateForm() {
  // alert("hello");
  var name = document.myform.name.value;
  document.getElementById("a1").innerHTML = name;
  // document.myform.write.value= name; 
}
<html>

<head>

  <title>
    js 1
  </title>
</head>

<body>

  <form name="myform" onSubmit="return validateForm();">
    Name<input type="text" name="name"><br> Password <input type="text" name="password"><br><br>

    <h1 id="a1"></h1>
    <input type="submit" value="submit"><br>
  </form>
</body>

</html>

我希望输出打印用户输入的名称,并且在用户第二次输入另一个名称之前它应该是可见的。

标签: javascripthtml

解决方案


这是因为正在提交的按钮类型是立即提交的。如果您想留在同一页面,您可以将按钮的类型从提交更改为输入。

 <input type="button" value="submit"><br>

或:用于event.preventDefault();中和事件。

<script type="text/javascript">
  function validateForm(){
     // alert("hello");
      var name=document.myform.name.value;
      document.getElementById("a1").innerHTML = name  ;
     // document.myform.write.value= name; 
     event.preventDefault();
  }
</script>
<form name="myform" onSubmit="return validateForm();">
  Name<input type="text" name="name"><br>
  Password <input type="text" name="password"><br><br>

  <h1 id="a1"></h1>
  <input type="submit" value="submit"><br>
</form>


推荐阅读