Javascript 如何连接我的html和js文件?

Javascript 如何连接我的html和js文件?,javascript,html,Javascript,Html,我的js不能与我的html文件一起使用。你怎么知道的 如果我打开html页面,我只会看到文本输入,但看不到结果 函数computeLoan(){ var amount=document.getElementById('amount')。值; var利率=document.getElementById(“利率”).value; var months=document.getElementById('months')。值; 风险值利息=(金额*(利率*.01))/月; 风险值支付=((金额/月)+

我的js不能与我的html文件一起使用。你怎么知道的 如果我打开html页面,我只会看到文本输入,但看不到结果

函数computeLoan(){
var amount=document.getElementById('amount')。值;
var利率=document.getElementById(“利率”).value;
var months=document.getElementById('months')。值;
风险值利息=(金额*(利率*.01))/月;
风险值支付=((金额/月)+利息)。toFixed(2);
payment=payment.toString()。替换(/\B(?=(\d{3})+(?!\d))/g,“,”;
document.getElementById(“付款”).innerHTML=“每月付款=$”+付款;
}

文件
贷款金额:$

利率:

月份:


好像你输入了一个错误(你在HTML中说的是
Months
,而不是
Months
)。如果你解决了这个问题,它应该会起作用

函数computeLoan(){
var amount=document.getElementById('amount')。值;
var利率=document.getElementById(“利率”).value;
var months=document.getElementById('months')。值;
风险值利息=(金额*(利率*.01))/月;
风险值支付=((金额/月)+利息)。toFixed(2);
payment=payment.toString()。替换(/\B(?=(\d{3})+(?!\d))/g,“,”;
document.getElementById(“付款”).innerHTML=“每月付款=$”+付款;
}

文件
贷款金额:$

利率:

月份:


您的代码中有两个问题:

第一:打字错误

您将
document.getElementById('Months')
错误地键入到
document.getElementById('Months')

秒:未调用函数

我不确定您是否在
calc.js
文件中调用了该函数,但从您的示例来看,您只声明了该函数,而忘记了调用它

您只需添加
computedLoad()
即可调用它

工作代码:

函数computeLoan(){
var amount=document.getElementById('amount')。值;
var利率=document.getElementById(“利率”).value;
//这里有问题
//var months=document.getElementById('months')。值;
//纠正
var months=document.getElementById('months')。值;
风险值利息=(金额*(利率*.01))/月;
风险值支付=((金额/月)+利息)。toFixed(2);
payment=payment.toString()。替换(/\B(?=(\d{3})+(?!\d))/g,“,”;
document.getElementById(“付款”).innerHTML=“每月付款=$”+付款;
}
//加上这个
computeLoan()
贷款金额:$

利率:

月份:


文件
贷款金额:$

利率:

月份:


document.getElementById可能无法找到您的id,请在源代码底部写入您使用的
Months
而不是
Months
(它应该是
document.getElementById(“Months”)
而不是
document.getElementById(“Months”)
——请记住元素
id
是区分大小写的。另外,我建议将
onkeyup
事件与
onchange
一起使用,该事件仅在元素失去焦点时触发(如果键入)。这样,当您键入或使用向上和向下箭头更改输入框中的值时,将计算结果。要在页面加载时查看结果,请在页面加载时调用函数

函数computeLoan(){
var amount=document.getElementById('amount')。值;
var利率=document.getElementById(“利率”).value;
var months=document.getElementById('months')。值;
风险值利息=(金额*(利率*.01))/月;
风险值支付=((金额/月)+利息)。toFixed(2);
payment=payment.toString()。替换(/\B(?=(\d{3})+(?!\d))/g,“,”;
document.getElementById(“付款”).innerHTML=“每月付款=$”+付款;
}
window.onload=function(){
computeLoan();
}

文件
贷款金额:$

利率:

月份:


getElementById('months')
。。。但是
id=“月”
。。。简单的打字错误。。。查看
months
months
的不同之处?您有乐高积木吗?您需要检查浏览器中的错误控制台,作为调试这些问题的第一步。这可以在开发者工具中找到,在大多数浏览器中都是F12。开发人员工具还可以显示您的javascript文件(和其他外部)资源是否已成功加载。如果您在检查错误控制台后无法自行解决问题,请确保在StackOverflow.@fiorentina.gf上提问时报告错误。@fiorentina.gf不客气!如果我的回答有帮助,你介意把它标记为正确的吗?
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>

</head>
<body>
    <p>Loan Amount: $<input id="amount" type="number" min="1" max="10000" onchange="computeLoan()"></p>
    <p>Interest Rate: <input id="interest_rate" type="number" min="0" max="100" value="10" step=".1" onchange="computeLoan()"></p>
    <p>Months: <input id="months" type="number" min="1" max="72" value="1" step="1" onchange="computeLoan()"></p>
    <h2 id="payment"></h2>
</body>
<!-- it should be lower -->
<script src="calc.js"></script>

</html>