Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 给出错误答案的数字_Javascript_Laravel_Web - Fatal编程技术网

Javascript 给出错误答案的数字

Javascript 给出错误答案的数字,javascript,laravel,web,Javascript,Laravel,Web,我有一个表单,用户在其中填写一个数字,然后将该表单的值与旁边的度量值进行比较。在这种情况下,每当我输入数字1时,它看起来好像没有被读取,它总是给我错误的结果。不管是1、10、111还是1111000,输出总是错误的 下面是代码片段: var elC4 = document.getElementById("elC4"); elC4.addEventListener("focusout", function () { var elE4 = document.getElementById("e

我有一个表单,用户在其中填写一个数字,然后将该表单的值与旁边的度量值进行比较。在这种情况下,每当我输入数字1时,它看起来好像没有被读取,它总是给我错误的结果。不管是1、10、111还是1111000,输出总是错误的

下面是代码片段:

var elC4 = document.getElementById("elC4");
elC4.addEventListener("focusout", function () {
    var elE4 = document.getElementById("elE4");
    var val = elD4.value;
    var result = val.match(/\d/g);
    result = result.join("");
    console.log(elC4.value);
    console.log(result);
    console.log(elC4.value > result);

    if (elC4.value > result) {
        elE4.value = "Tidak Memenuhi";
    } else {
        elE4.value = "Memenuhi";
    }
});
console.log:

我圈出的那一行是有问题的一行,其他的都有类似的功能,工作正常


那么到底出了什么问题?

我想你是在比较两个字符串。所以,结果是不正确的

"10" > "2" ==> result is false
我建议这样比较:

+"10" > +'2" ==> result will be true ( in this case: +elC4.value > +result )

希望这对你有帮助,兄弟

看起来您在比较两个字符串,而实际上您必须比较两个数字

我建议强制这些值为数字,一种方法是: 在这些值后面添加
+

var elC4=+document.getElementById(“elC4”)

屏幕截图没有真正的帮助。您正在比较的两个值是什么?它们的数据类型是什么?因为您想要比较数字,所以不要执行
result=result.join(“”)
,而是使用parseInt将字符串解析为整数,如下所示
parseInt(result,10))
。第二个参数(
10
)是要分析的数字的基数。