簡體   English   中英

是否可以將對象 function 傳遞給 Javascript 中的按鈕 onClick 事件?

[英]Is it possible to pass an objects function to a buttons onClick event in Javascript?

這是 HTML

<form class='frm1'>
                <h2>Enter Loan Amount:</h2>
                <input type='text' name='Lamount' id='Lamount'>
                
                <h2>Enter Credit Score:</h2>
                <input type='text' name='Cscore' id='Cscore'><!-- comment -->
                
                <h2>Enter Estimated Property Taxes:</h2>
                <input type='text' name='Ptaxes' id='Ptaxes'><!-- comment -->
                
                <h2>Enter Estimated Monthly Mortgage Insurance:</h2>
                <input type='text' name='Minsurance' id='Minsurance'><!-- comment -->
                
                <h2>How many years will this loan be active?:</h2>
                <input type='text' name='Yactive' id='Yactive'>
                <br><br>
                
                <button id='btn1' onClick="loanCalculator.getIR()">Continue</button>

我嘗試只使用 getIR() ,但它仍然沒有做它應該做的事情。

我還嘗試將 object 包裝在名為 getIR 的 function 中,並將值存儲在數組中,但是當我嘗試警告或寫入數組的內容時,所有打印的內容都是“對象”

            </form>

這是 Javascript

loanCalculator = {
        loan_amt: document.getElementById('Lamount').value,
        c_score: document.getElementById('Cscore').value,
        p_taxes: document.getElementById('Ptaxes').value,
        m_insurance: document.getElementById('Minsurance').value,
        y_active: document.getElementById('Yactive').value,
        getIR: function(){
            if(c_score <= 500){
                alert("5% Interest Rate");
            }
            else if(c_score >=501 && c_score <600){
                alert("4.75% Interest Rate");
            }
            else if(c_score >=601 && c_score <700){
                alert("4.45% Interest Rate");
            }
            else{
                alert("4.25% Interest Rate");
            }
        }



    };

示例之一如下。

 loanCalculator = { getIR: function() { const c_score = parseInt(document.getElementById('Cscore').value) if (c_score <= 500) { alert("5% Interest Rate"); } else if (c_score >= 501 && c_score < 600) { alert("4.75% Interest Rate"); } else if (c_score >= 601 && c_score < 700) { alert("4.45% Interest Rate"); } else { alert("4.25% Interest Rate"); } } };
 <h2>Enter Credit Score:</h2> <input type='text' name='Cscore' id='Cscore'><.-- comment --> <button id='btn1' onClick="loanCalculator.getIR()">Continue</button>

您需要在每次單擊按鈕后執行document.getElementById(xxx).value ,所以我猜您可能不需要c_score: document.getElementById('Cscore').value (這是題外話,但請注意輸入值的驗證。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM