js出现问题??????

  //获取天数 
    function getDays(s1, s2) {
        var s1 = $("#EntTime31").val('');
        var s2 = $("#EntTime30").val('');
        var d1 = new Date(s2.replace(/-/g, '/'));
        var d2 = new Date(s1.replace(/-/g, '/'));
        var ms = Math.abs(d2.getTime() - d1.getTime());//毫秒
        var d = ms / 1000 / 60 / 60 / 24;//转为天
        return d;
    }

         $(document).ready(function () {

        //显示当前日期
        var d = new Date();
        var s2 = d.getFullYear() + "-" + (d.getMonth() + 1) + "-" + d.getDate();
        $('#EntTime30').val(s2);

        //显示截止日期
        var d = new Date();
        var s1 = d.getFullYear() + "-" + (d.getMonth() + 1) + "-" + d.getDate();
        $('#EntTime31').val(s1);
     $("#input,#input1").change(function () { $(':radio[id^="1-"]:checked').trigger('click'); 
            var day = getDays();
             Costcalculator3(input,input1,day );
        });

});
//计算逾期违约金
function Costcalculator3(input,input1,day ){
        input = parseFloat(input) || 0;
        input1 = parseFloat(input) || 0;
        day = parseFloat(day) || 0;

        var lj5 = 0;
        lj5 = input*input1/100*day*2;
        $("#lj5").val(lj5);
        }

图片说明
图片说明

算不了 是获取天数那快没参数 还是怎么的 在我的基础上改 谢谢
input 是金额 input1 是利率
错误在下面的图片

图片说明

从逻辑看你的两个天数时间的天数差约等于0 的啊
//计算逾期违约金
function Costcalculator3(input,input1,day ){
input = parseFloat(input) || 0;

    input1 = parseFloat(input) || 0;应该是input1吧???
    day = parseFloat(day) || 0;
    var lj5 = 0;
    lj5 = input*input1/100*day*2;
    $("#lj5").val(lj5);
    }
function getDays(s1, s2) {
    var s1 = $("#EntTime31").val();
    var s2 = $("#EntTime30").val();
    var d1 = new Date(s2.replace(/-/g, '/'));
    var d2 = new Date(s1.replace(/-/g, '/'));
    var ms = Math.abs(d2.getTime() - d1.getTime());//毫秒
    var d = ms / 1000 / 60 / 60 / 24;//转为天
    return d;
}

    这样改就可以了。 var s2 = $("#EntTime30").val(''); 表示给EntTime30赋值为'',而 var s2 = $("#EntTime30").val()才表示取值。

s2.replace(/-/g, '/')
显示是这个s2.replace不是一个函数

建议你先确认下
var s2 = $("#EntTime30").val('');

这个s2是什么
它是不是一个字符串

这个错误信息一看就知道是因为s2的类型不是字符串类型,所以往上看代码就发现这里:var s2 = $("#EntTime30").val('');应该写成:var s2 = $("#EntTime30").val();因为一旦val这个函数里面有值的话(''是空字符串)返回的是对象,而不是你想要取的字符串的值,所以控制台会报错