javascript - 为什么当我点击 onclick 按钮时什么都没有发生?
问题描述
*我想为较低和较高的数字显示两个输入字段,并在输入错误时显示必要的错误消息。
知道为什么当我点击我的按钮时什么都没有发生吗?任何方式我都可以缩短我的 if-else 语句,因为它确实感觉很罗嗦,谢谢你的评论*
<html> Enter lowest number<br>
<input type="text" id="input" size="20">
<span id="wrongInput"><br><br>
Enter highest number<br>
<input type="text" id="input2" size="20">
<span id="wrongInput2"></span><br><br>
<button type="button" onclick="testNum()">Play button</button><br><br>
</html>
<script>
function testNum()
{
//if is not a number or blank input
if (/^\d$/.test(input) == '')
{
var blank = document.getElementById("wrongInput").innerHTML;
blank.innerHTML = "Please fill in a number";
blank.style.color ="red";
return false;
} else {
blank.innerHTML = "";
}
if (/^\d$/.test(input) == false)
{
var wrong = document.getElementById("wrongInput").innerHTML;
wrong.innerHTML = "Only key in number";
wrong.style.color ="red";
return false;
} else {
wrong.innerHTML = "";
}
if (/^\d$/.test(input2) == '')
{
var blank = document.getElementById("wrongInput2").innerHTML;
blank.innerHTML = "Please fill in a number";
blank.style.color ="red";
return false;
} else {
blank.innerHTML = "";
}
if (/^\d$/.test(input2) == false)
{
var wrong = document.getElementById("wrongInput2").innerHTML;
wrong.innerHTML = "Only key in number";
wrong.style.color ="red";
return false;
} else {
wrong.innerHTML = "";
}
if (input2 < input)
{
var wrong = document.getElementById("wronginput2").innerHTML;
wrong.innerHTML = "The number must be higher";
wrong.style.color ="red";
return false;
} else {
return true;
}
}
</script>
解决方案
在您的示例中调用了该函数,下面列出了一些我认为您应该考虑的事情。
首先,您试图在所有 else 块中调用未定义的变量。
其次,您在所有 if 语句中调用了 innerHTML 两次。
最后,您需要查看 if 语句中的条件。
推荐阅读
- python - 删除以相同单词开头的列表项
- powershell - Visual Studio Online 构建和发布 Azure Powershell
- c# - 对 URL 的远程 WebDriver 服务器的 HTTP 请求 - Chrome
- python - 如何对 NumPy 数组应用上下阈值?
- xcode - undefined 不是 React-Native CameraRoll 的对象 RCTCameraRollManager
- java - 无法为 org.gradle.api.Project 类型的项目“:app”上的参数找到方法 buildTypes()
- docker - 为 traefik.docker.network 设置默认值
- java - 我们可以将 kamon 用于 Java 应用程序指标吗?
- python - gTTS 错误:另存为 wav 但另存为 MPEG
- c# - 来自具有最佳性能的 C++ 应用程序的 API