我尝试检查字段中的输入是否是有效数字,如果不是,则会显示警告消息。这是我试图实现的目标:
jQuery(document).ready(function($){
addRequiredField($);
});
function addRequiredField($) {
var elements = document.getElementsByTagName("INPUT");
for (var i = 0; i < elements.length; i++) {
elements[i].oninvalid = function(e) {
e.target.setCustomValidity("");
if (!e.target.validity.valid) { // If Zero is entered there is a warning message - WORKING
e.target.setCustomValidity("Please enter a price");
}
else if(isNaN(console.log(e.target.value))) { // If invalid number is entered such as @380, 433-99, 33.50, etc., there is a warning message - NOT WORKING
e.target.setCustomValidity("It is invalid number. Please enter latin numbers only like 280, 364, etc.");
}
else { // If a valid number entered, no warning message - WORKING
e.target.setCustomValidity("");
}
};
}
我非常感谢任何建议。
jQuery(document).ready(function($){
addRequiredField($);
});
function addRequiredField($) {
var elements = document.getElementsByTagName("INPUT");
for (var i = 0; i < elements.length; i++) {
elements[i].oninvalid = function(e) {
e.target.setCustomValidity("");
if (!e.target.validity.valid) {
e.target.setCustomValidity("Please enter a price");
} else if (isNaN(parseFloat(e.target.value))) {
e.target.setCustomValidity("It is an invalid number. Please enter valid numbers like 280, 364, etc.");
} else {
e.target.setCustomValidity("");
}
};
}
}
您检查输入的值是否为有效数字的代码中似乎存在错误。 isNaN 函数检查一个值是否为 NaN(非数字),但它不会将任何内容记录到控制台