Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.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_Php_Html - Fatal编程技术网

javascript运算符与输入小数点不匹配

javascript运算符与输入小数点不匹配,javascript,php,html,Javascript,Php,Html,我不明白为什么我使用像a>b这样的条件值,但它不能正常工作,可能是因为值a=decimal。我的代码如下: HTML <input type="text" class="form-control" name="numberdays" id="numberdays" value="10.0/> <input type="text" name="cutii&qu

我不明白为什么我使用像
a>b这样的条件值,但它不能正常工作,可能是因为值a=decimal。我的代码如下:

HTML

<input type="text" class="form-control" name="numberdays"  id="numberdays" value="10.0/>
<input type="text" name="cutii" id="cutii" value="9.0">
<button class="btn btn-primary waves-effect" id="subcut" type="submit" disabled>
结果是我的按钮被禁用,它不应该被禁用

这是我的js。实际上,我使用datepicker生成自动生成的天数。可能是因为没有检测到我使用运算符的情况。 JS用于日期选择器


$(文档).ready(函数(){
设$fromDate=$(“#fromDate”),
$toDate=$(“#toDate”);
$fromDate.datepicker().on('change',function()){
$toDate.datepicker('option','minDate',$(this.val());
});
$toDate.datepicker().on('change',function()){
$fromDate.datepicker('option','maxDate',$(this.val());
});;
});
$(函数(){
设$fromDate=$(“#fromDate”),
$toDate=$(“#toDate”),
$numberDays=$(“#numberDays”),
$numberCuti=$(“#cuti”);
$fromDate.datepicker().on('change',function()){
$toDate.datepicker('option','minDate',$(this.val());
$numberDays.val(calculatedIFF($toDate.val(),$(this.val()));
});
$toDate.datepicker().on('change',function()){
$fromDate.datepicker('option','maxDate',$(this.val());
$numberDays.val(calculatedIff($(this.val(),$fromDate.val());
});
cutifrom.addEventListener('input',()=>{
if(parseFloat(cuti.value)>=parseFloat(numberdays.value)){
子切口移除属性(“禁用”);
}否则{
subcut.setAttribute('disabled','disabled');
}
}) ;     
函数CalculatedIFF(endDate,startDate){
如果(结束日期和开始日期){
设e=力矩(结束日期),
s=力矩(起始日期);
返回e.diff(s,“天”);
}
返回null;
}   
});

您的值是字符串类型,比较结果与数字不同,请尝试将该值转换为数字,然后查看是否有效

您需要将代码更改为此表单:

  cutifrom.addEventListener('input',()=>{
        if (Number(cutii.value) > Number(numberdays.value)) {
        subcut.removeAttribute('disabled');
    }else{
        subcut.setAttribute('disabled','disabled');
    }
    }) ; 

祝你好运:)

。也请阅读和。如果js datepicker自动输入了
numberdays
的值,该怎么办?如果我在
numberdays
中输入手动操作,该怎么办。但是如果我在我的
numberdays
上使用datepicker获取值,它不起作用,这能回答你的问题吗?你能告诉我怎么做吗?很抱歉,我在js中是新的:')请尝试将所选条目打印到日志中,看看如何准确地访问它。我不知道你说什么,很抱歉。在函数的开头添加这一行:console.log('numberdays.value:',numberdays.value),并使用控制台中的开发工具检查该值写入了什么,这样您就知道错误在哪里了。看起来我的datepicker js有问题。当我输入并查看控制台时,什么都没有发生。结果为空
 <script type="text/javascript">
      $(document).ready(function(){

    let $fromDate = $('#fromdate'),
        $toDate = $('#todate');

    $fromDate.datepicker().on('change', function(){
        $toDate.datepicker('option', 'minDate', $(this).val());
    });

    $toDate.datepicker().on('change', function(){
        $fromDate.datepicker('option', 'maxDate', $(this).val());
    });;
});

      $(function() {
    let $fromDate = $('#fromdate'),
        $toDate = $('#todate'),
        $numberDays = $('#numberdays'),
        $numberCuti = $('#cuti');

    $fromDate.datepicker().on('change', function(){
        $toDate.datepicker('option', 'minDate', $(this).val());

        $numberDays.val(calculateDateDiff($toDate.val(), $(this).val()));
    });

    $toDate.datepicker().on('change', function(){
        $fromDate.datepicker('option', 'maxDate', $(this).val());

        $numberDays.val(calculateDateDiff($(this).val(), $fromDate.val()));
    });

   cutifrom.addEventListener('input',()=>{
        if (parseFloat(cuti.value) >= parseFloat(numberdays.value)) {
        subcut.removeAttribute('disabled');
    }else{
        subcut.setAttribute('disabled','disabled');
    }
    }) ;     
        
function calculateDateDiff(endDate, startDate) {
        if (endDate && startDate) {
            let e = moment(endDate),
                s = moment(startDate);

            return e.diff(s, "days");
        }

        return null;
    }   
});
</script>
  cutifrom.addEventListener('input',()=>{
        if (Number(cutii.value) > Number(numberdays.value)) {
        subcut.removeAttribute('disabled');
    }else{
        subcut.setAttribute('disabled','disabled');
    }
    }) ;