首页 > 解决方案 > 如何使输入值得到验证?

问题描述

我正在尝试编写一个基本的一阶方程计算器,但我的输入值没有得到验证,有人可以帮忙吗,感谢您的关注

<!DOCTYPE html>
<head>
<script src="scriptfoda.js" type="text/javascript"></script>
<script>
var eq = Document.getElementById('cu');
var someigual = eq.slipt("=");
function butao() {
  if (eq.value.includes("x") && eq.value.includes("=") == false){
      eq.innerHTML = "PLEASE PUT X AND = IN THE EQUATION";
  }
}
</script>
</head>
  <body>
    <button type="button" name="button" onclick="butao()">top</button>
    <input type="text" size="99" id="cu" placeholder="coloque uma equaçao de 1 grau com 1 icognita">
    <p id="error"></p>
  </body>
</html>

标签: javascripthtmlcssperformancefrontend

解决方案


您的代码有几处错误,因此请提供一些反馈。当您的脚本初始化时,您正在尝试获取 的初始值eq,但它只会获得一次该值,而不是每次单击时。这应该移到里面butao

您的if声明没有按照您的想法做,它正在检查它是否包含x以及是否不包含=. 我假设您想要的是检查eq.value 是否包含xand =,因此您要确保两者都没有丢失,因此检查它们中的任何一个是否为假,然后输入错误。

document.getElementById()不想Document.getElementById()

您(很可能)想要更改输入的值,而不是innerhtml

slipt不是函数,我假设你拼错了split

function butao() {
  
  var eq = document.getElementById('cu');
  var someigual = eq.value.split("=");

  if (!eq.value.includes("x") || !eq.value.includes("=")) {
    eq.value = "PLEASE PUT X AND = IN THE EQUATION";
  } 
  
}
<!DOCTYPE html>
<body>
  <button type="button" name="button" onclick="butao()">top</button>
  <input type="text" size="99" id="cu" placeholder="coloque uma equaçao de 1 grau com 1 icognita">
  <p id="error"></p>
</body>

</html>


推荐阅读