首页 > 解决方案 > 用 0 替换空用户输入的最佳方法

问题描述

我有三个用户输入,可以取任意数字。如果用户将输入留空,然后单击提交按钮,我希望该输入返回 0。

处理这个问题的最佳方法是什么?

我创建了一个 if 语句,分别查找输入 1 或输入 2 或输入 3 是否为空,但如果输入 1 和 2 为空或输入 3 和 1 为空怎么办,这将导致相当长的 if 语句

我想知道解决这个问题的最佳方法是什么?

*.js

If( hours === 0  ){
hours = 0
}else if ( minutes === 0 ){
minutes = 0
}else if ( seconds === 0 ){
seconds = 0
}
// more if statement with different combination of minutes seconds and hours being 0

标签: javascriptif-statementuser-input

解决方案


创建一个可以完成这项工作的函数,然后将输入值传递给该函数。为每个输入调用该函数。

function checkInput(input){
  if(!input.value){
    input.value = 0;
  }
}

// Find all the <input> elements and loop thorugh them
document.querySelectorAll("input").forEach(function(element){
  checkInput(element); // Call the checkInput function and pass the current input
});
<input>
<input>
<input>

您还可以通过使用更精确的 HTML 来完全避免 JavaScript:

<input type="number" required value="0">
<input type="number" required value="0">
<input type="number" required value="0">


推荐阅读