一个简易计算贷款的javascript代码,谁能告诉我的问题出在哪里吗?

图片说明
这是写的:

 <head>
<script src="/jquery/jquery-1.11.1.min.js"></script>
<script>
function sum(){
var x=document.getElementById("m1");
var n=document.getElementById("m2");
var y=document.getElementById("m3");
var p1=parseFloat(x.value);
var p2=parseFloat(n.value);
var p3=parseFloat(y.value);
var s=p1/p2*s+p1 ;
$(document).ready(function(){
$("#b1").click(function(){
$("#m4").val(s)
})});
}
</script>
</head>
<body>
总额:<input id="m1"><br /><br />
期数:<input id="m2"><br /><br />
利息:<input id="m3"><br /><br />
本息:<input id="m4" value="本金和利息之和为"><br /><br />
<button onClick="sum()" id="b1" align="center">求利息</button>
</body>
</html>

求高手指点一下

你b1不是绑定过onclick了,里面还绑定一次干嘛,直接赋值就行了,要不需要点击第二次才能赋值

 <head>
    <script>
        function sum() {
            var x = document.getElementById("m1");
            var n = document.getElementById("m2");
            var y = document.getElementById("m3");
            var p1 = parseFloat(x.value);
            var p2 = parseFloat(n.value);
            var p3 = parseFloat(y.value);
            //var s = p1 / p2 * s + p1;//你这里和s相乘是搞毛。。是p3吧
            var s = p1 / p2 * p3 + p1;
            document.getElementById('m4').value = s;
        }
    </script>
</head>
<body>
    总额:<input id="m1"><br /><br />
    期数:<input id="m2"><br /><br />
    利息:<input id="m3"><br /><br />
    本息:<input id="m4" value="本金和利息之和为"><br /><br />
    <button onclick="sum()" id="b1" align="center">求利息</button>
</body>
</html>

$("#m4").val(s) 你可以把这句放在 sum函数中 然后点击的时候调用sum() 就可以了

这是javascript,可是你跟本就没写,这个标志都没有,什么 var function,不起作用</p>

你这样写的话那个s变量算是sum函数的属性,其他函数无法获取的;你可以把它定义为全局变量,或者在sum函数中return出来再在click事件方法中调用sum函数来接收变量s,再把s加载到$("#m4")中


function sum(){ var x=document.getElementById("m1"); var n=document.getElementById("m2"); var y=document.getElementById("m3"); var p1=parseFloat(x.value); var p2=parseFloat(n.value); var p3=parseFloat(y.value); var s=p1/p2*s+p1 ; $("#m4").val(s) $(document).ready(function(){ $("#b1").click(function(){ $("#m4").val(s) })}); }



总额:


期数:


利息:


本息:


求利息


```<html>
<head>
<script src="/jquery/jquery-1.11.1.min.js"></script>
<script>
function sum(){
var x=document.getElementById("m1");
var n=document.getElementById("m2");
var y=document.getElementById("m3");
var p1=parseFloat(x.value);
var p2=parseFloat(n.value);
var p3=parseFloat(y.value);
var s=p1/p2*s+p1 ;
$("#m4").val(s)
$(document).ready(function(){
$("#b1").click(function(){
$("#m4").val(s)
})});
}
</script>
</head>
<body>
总额:<input id="m1"><br /><br />
期数:<input id="m2"><br /><br />
利息:<input id="m3"><br /><br />
本息:<input id="m4" value="本金和利息之和为"><br /><br />
<button onClick="sum()" id="b1" align="center">求利息</button>
</body>
</html>

事实证明你的公式那儿

var  s=p1/p2*s+p1 ;          //这儿这个p2*s是个什么鬼

替换

var s =p1/p2* p3 +p1

顺便上下我的代码:

 <form action="###" name="money">
    <input type="text" name="total" placeholder="总额"><br /><br />
    <input type="text" name="num" placeholder="期数"><br /><br />
    <input type="text" name="li" placeholder="利息"><br /><br />
    <input type="text" name="total_money" placeholder="本息"><br /><br />

    <button>求利息</button>
</form>


<script>
    var Form_money=document.money,      //表单
            total = Form_money.total,   //总额
            num = Form_money.num,       //期数
            li = Form_money.li,         //利息
            total_money=Form_money.total_money; //本息

    document.querySelector('button').addEventListener('click',function (e) {
        e.stopPropagation();
        e.preventDefault();

        var total_value=parseFloat(total.value),
                num_value=parseFloat(num.value),
                li_value=parseFloat(li.value);

        total_money.value=(total_value/num_value)*li_value+total_value;

    })
</script>

为什么不直接用jquery