我正在为我的雇主创建以下网络应用程序:
https://jsfiddle.net/kupe2rLL/3/
工作原理:当用户在公司信息中输入信息时,动态填充错失良机率和参与结果字段strong> section。
问题:我需要对应用进行编程,以便业务年限输入不会使值小于1 且没有值<在计算 jobsRecovered 变量和 RevenueYear 变量时,强>大于3 。
<input type="text" id="yearsOpen" name="yearsOpen" class="form-control" onchange="calculateAll()" required>
var jobsRecovered = (averageJobs * 50) * recovery * yearsOpen;
var revenueYear = jobsRecovered * jobValue;
最好,我需要业务年限输入字段来接受表单输入中 0到无穷大的任何值,但是然后将该变量的值更改为<在计算 jobsRecovered 变量和 RevenueYear 时,strong>最小1 和最大3 。如果可能的话,我想使用JavaScript函数实现此解决方案,但我愿意接受替代解决方案。
我研究并实现了以下解决方案,但不幸的是,这仅限制了表单本身的最小 - 最大输入范围:
input.addEventListener('change', function(e) {
var num = parseInt(this.value, 10),
min = 1,
max = 3;
if (isNaN(num)) {
this.value = "";
return;
}
this.value = Math.max(num, min);
this.value = Math.min(num, max);
});
任何帮助将不胜感激。 (注意:我的编程经验是初级水平。)
答案 0 :(得分:0)
要限制变量值的范围,您可以将其传递给if-else语句,或者对您的值执行类似过滤器的三元操作。
e.g。
if (yearsOpen <= 3) ? (if (yearsOpen < 1) ? (yearsOpen = 1) : (yearsOpen = yearsOpen)) : (yearsOpen = 3);
较小的陈述if (n <= 3) ? (if (n < 1) ? (n = 1) : (n = n)) : (n = 3);
If-else格式:
if (yearsOpen <= 3) {
if (yearsOpen < 1) {
yearsOpen = 1;
} else {
yearsOpen = yearsOpen;
}
} else {
yearsOpen = 3;
}
希望这是有道理的。