Javascript java脚本只按数字检查两个输入值
Javascript java脚本只按数字检查两个输入值,javascript,jquery,html,Javascript,Jquery,Html,var tbv=document.getElementById(“inputFrom”); var tbb=document.getElementById(“inputTo”); var submit_check=document.getElementById(“checkValues”); 函数blr(){ var von=tbv.值; var bis=待定值; 控制台日志(von); 控制台日志(bis); 如果(von>=bis | | bis使用parseInt()。由于您将textbo
var tbv=document.getElementById(“inputFrom”);
var tbb=document.getElementById(“inputTo”);
var submit_check=document.getElementById(“checkValues”);
函数blr(){
var von=tbv.值;
var bis=待定值;
控制台日志(von);
控制台日志(bis);
如果(von>=bis | | bis使用parseInt()
。由于您将textbox的值作为字符串获取,因此需要将字符串转换为数字
var tbv=document.getElementById(“inputFrom”);
var tbb=document.getElementById(“inputTo”);
var submit_check=document.getElementById(“checkValues”);
函数blr(){
var von=parseInt(待定值);
var bis=parseInt(待定值);
控制台日志(von);
控制台日志(bis);
如果(von>=bis){
checkValues.disabled=true;
}否则{
checkValues.disabled=false;
}
}
tbv.addEventListener(“模糊”,blr);
tbb.addEventListener(“模糊”,blr);
发件人:
致:
检查
Javascript是松散类型的。它的变量在第一次加载数据时获得其类型,但在其生命周期内可以更改类型
当您创建一个变量并从输入中加载数据时,它被视为一个字符串,字符串比较是逐字符进行的,而不是作为一个整体进行的
如果您将值转换为int或float,使用parseInt()或parseFloat()可以解决您的问题。试试这个
function blr() {
var von = parseint(tbv.value);
var bis = parseint(tbb.value);
console.log(von);
console.log(bis);
if (von >= bis) {
checkValues.disabled = true;
} else {
checkValues.disabled = false;
}
}
tbv.addEventListener("blur", blr);
tbb.addEventListener("blur", blr);
我让jsut将输入解析为整数,然后进行比较,不需要像a>=b和b那样在两个方向上进行比较。首先,您不需要这个-(von>=bis | bis=bis)
如果值始终是数值,那么您可以简单地通过在它们前面加一个加号来转换它们,如下所示:
if (+von >= +bis) {
checkValues.disabled = true;
} else {
checkValues.disabled = false;
}
默认情况下,.value
返回一个字符串,因此使用将值解析为数字
注:von>=bis
和bis=bis){
checkValues.disabled=true;
}否则{
checkValues.disabled=false;
}
}
tbv.addEventListener(“模糊”,blr);
tbb.增补列表(“模糊”,blr)代码>
发件人:
致:
检查是否同意David Thomas的意见。您需要将字符串转换为数字。
由于您的输入框中已经有正则表达式,请尝试使用Number对象将字符串文字转换为Number,然后进行比较
function blr() {
var von = Number(tbv.value);
var bis = Number(tbb.value);
console.log(von);
console.log(bis);
if (von >= bis) {
checkValues.disabled = true;
} else {
checkValues.disabled = false;
}
}
有关数字对象的更多详细信息,请访问
一个
值是一个字符串,这意味着这些值是按词汇进行比较的,而不是按数字进行比较的;您需要首先转换为一个数字来比较作为数字的值:parseInt(von,10)
,parseFloat(von)
,+von
,Number(von)
(可能还有许多其他方法)。console.log(typeof von)
像var von=parseInt(tbv.value)一样使用parseInt;请检查拼写!!