[英]Easiest way to validate this input?
对尝试验证某些文本字段输入的 JavaScript 仍然相当陌生,我一直在尝试逐步完成,但发生了很多事情,我一直在自相矛盾。 我已经在下面解释了所需的验证。
var a = document.getElementById("val1").value;
var b = document.getElementById("val2").value;
val1 和 val2 指的是两个文本输入字段,a 和 b 都必须是正整数,但只需要填写一个输入字段,在这种情况下,另一个变量应该被赋值为 0,那么变量 a 应该是较小的两个值和 b 较大的值,以便我运行以下循环。
for (var i = a; i < (Number(b) + Number(1)); i++) {
tableRow = resultsRows.appendChild(document.createElement("tr"));
if(i%2==0) {
tableRow.setAttribute("class", "even");
}
else {
tableRow.setAttribute("class", "odd");
}
var tableData = tableRow.appendChild(document.createElement("td"));
tableData.appendChild(document.createTextNode(i));
tableData = tableRow.appendChild(document.createElement("td"));
tableData.appendChild(document.createTextNode(converter(i)));
}
我试图编写的函数来验证这一点。 不知道如何用这个接受空白输入......
function validateInput(x) {
if (isNaN(x) || x < 0) {
alert("Input incorrect; fields must be blank or contain positive integers");
return false;
}
else { return true
}
}
请尝试附加的代码片段。 它旨在包含以下假设:
function customValidation(){ var a = document.getElementById("val1").value; var b = document.getElementById("val2").value; if((a == "" && b == "") || (a > "" && !isNumber(a)) || (b > "" && !isNumber(b)) || (a < 0 || b < 0) || (a == 0 && b == 0) || (a > 0 && b > 0)){ alert("Input incorrect; " + "only one of the fields must contain a value " + "and that should be a positive number"); return false; } if(a > 0){ n = a; } else{ n = b; } for(i=0; i < (Number(n) + Number(1)); i++){ alert("Executing: "+i); // // } } //----------------------------------------------------- function isNumber(n) { return !isNaN(parseFloat(n)) && isFinite(n); } //-----------------------------------------------------
Val1: <input id="val1" type="text"><br> Val2: <input id="val2" type="text"><br> <input type="button" value="Test" onClick="customValidation()">
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.