我創建了一個函數,我不能用onclick返回。js函數不返回onclick
我敢肯定這是簡單的東西,我失蹤了。
HTML:
<html>
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript" src="schedule.js"></script>
</head>
<body>
<input type="button" onclick="computeSchedule();" value="Submit" /><br>
<p id="scheduleOutput"></p>
</body>
</html>
JS:
function computeSchedule(loan_amount, interest_rate, payments_per_year, years, payment) {
var schedule = [];
var remaining = loan_amount;
var number_of_payments = payments_per_year * years;
for (var i=0; i<=number_of_payments; i++) {
var interest = remaining * (interest_rate/100/payments_per_year);
var principle = (payment-interest);
var row = [i, principle>0?principle:0, interest>0?interest:0, remaining>0?remaining:0];
schedule.push(row);
remaining -= principle
}
return schedule;
}
var list = JSON.stringify(computeSchedule(100000, 0.005, 12, 15, 843.86), 0, 4)
document.getElementById('scheduleOutput').innerHTML = list;
我可以得到功能自動返回jsFiddle onload,但是當我改變JS設置"no wrap - in head"這是行不通的。我假設當我試圖在jsFiddle之外運行時,也發生了什麼?
嘗試將'script'標記行移動到HTML底部,就在關閉'body'標記之前。 – glhrmv
加載'schedule.js'文件時,JavaScript代碼立即運行,此時HTML不會被解析爲DOM(這就是爲什麼您通過'document.getElementById'獲得'undefined'的原因。 )。 嘗試將'schedule.js'的加載移動到'
'標記的底部(正好在''之前)。這正如在JS Fiddle中選擇「no wrap,in 」。 – Catalyst是的,它做到了。謝謝。知道這對某人來說很簡單。 –