簡體   English   中英

語法錯誤-輸入意外結束

[英]SyntaxError-Unexpected End of Input

我是新手。 剛剛使用帶有Jquery和Jquery Validation插件的Javascript編寫了一個簡單的貸款批准應用程序。 我收到了SyntaxError。 -我已經匹配了開頭和結尾的括號,大括號,分號和逗號,但不明白為什么它不起作用。 -我嘗試了不同的變體並不斷出現錯誤(每次更改都指向不同的代碼行)。 -當我注釋掉jQuery Validation代碼時,它可以工作,因此問題必須出在jQuery Validation代碼上。

下面是代碼。 當前在第61行獲得SyntaxError,這是反映->}的最后一行。

// JavaScript文檔//鑽石貸款銀行貸款申請

$(document).ready(function() {
    $("#submit").click(function() {
    var salary =  $("#salary").val();   // get salary
    var creditScore = $("#creditScore").val(); // get creditScore
    var monthsJob = $("#monthsJob").val(); // get months at job

    if  (salary >= 40000 && creditScore >= 600) {
        $("#decision").html("Your loan is approved!")
    }
    else if (salary >= 40000 && monthsJob >= 12) {
        $("#decision").html("Your loan is approved!")
    }
    else if (creditScore >= 600 && monthsJob >= 12) {
        $("#decision").html("Your loan is approved!")
    }
    else {
        $("#decision").html("Your loan is declined.")
    };
    return false;
    }); // closes submit.click  

    //     J Q U E R Y    V A L I D A T O R
    $("#loanApp").validate({
        rules: {
            salary: {
            required: true,
            rangelength: [4, 10],
            number: true
            },
            creditScore: {
            required: true,
            rangelength: [3, 3],
            number: true
            },
            monthsJob: {
            required: true,
            rangelength: [1, 3], 
            number: true
            },  
            messages: {
            salary: {
            required: "Please enter your salary.",
            rangelength: "Enter at least 4 numbers and up to 10.",
            number: "Enter numbers only."
            },
            creditScore: {
            required: "Please enter your Credit Score.",
            rangelength: "Credit Scores are 3 numbers long.",
            number: "Enter numbers only."
            },
            monthsJob: {
            required: "Please enter your months at current job.",
            rangelength: "Enter at least 1 number and up to 3.",
            number: "Enter numbers only."
            }
        } 
    }
});

您缺少另一個}); 最后是$(document).ready(... ,當前是$(#loanApp).validate(...

您已經犯了一些縮進錯誤,這使您錯過了document.ready()的花括號:

            }
        } 
    }
});

應該:

                }
            } 
        }
    });
});

您錯過了一個額外的}); 在那末。 補充一點,一切都應該正常工作。

 $(document).ready(function() { $("#submit").click(function() { var salary = $("#salary").val(); // get salary var creditScore = $("#creditScore").val(); // get creditScore var monthsJob = $("#monthsJob").val(); // get months at job if (salary >= 40000 && creditScore >= 600) { $("#decision").html("Your loan is approved!") } else if (salary >= 40000 && monthsJob >= 12) { $("#decision").html("Your loan is approved!") } else if (creditScore >= 600 && monthsJob >= 12) { $("#decision").html("Your loan is approved!") } else { $("#decision").html("Your loan is declined.") }; return false; }); // closes submit.click // JQUERYVALIDATOR $("#loanApp").validate({ rules: { salary: { required: true, rangelength: [4, 10], number: true }, creditScore: { required: true, rangelength: [3, 3], number: true }, monthsJob: { required: true, rangelength: [1, 3], number: true }, messages: { salary: { required: "Please enter your salary.", rangelength: "Enter at least 4 numbers and up to 10.", number: "Enter numbers only." }, creditScore: { required: "Please enter your Credit Score.", rangelength: "Credit Scores are 3 numbers long.", number: "Enter numbers only." }, monthsJob: { required: "Please enter your months at current job.", rangelength: "Enter at least 1 number and up to 3.", number: "Enter numbers only." } } } }); });//this is missing from your code, add this 

缺少}); 在末尾。

從視覺的角度來看, messagessalary之間缺少的選項卡似乎使您感到困惑。

$(document).ready(function() {
    $("#submit").click(function() {
    var salary =  $("#salary").val();   // get salary
    var creditScore = $("#creditScore").val(); // get creditScore
    var monthsJob = $("#monthsJob").val(); // get months at job

    if  (salary >= 40000 && creditScore >= 600) {
        $("#decision").html("Your loan is approved!")
    }
    else if (salary >= 40000 && monthsJob >= 12) {
        $("#decision").html("Your loan is approved!")
    }
    else if (creditScore >= 600 && monthsJob >= 12) {
        $("#decision").html("Your loan is approved!")
    }
    else {
        $("#decision").html("Your loan is declined.")
    };
    return false;
    }); // closes submit.click  

    //     J Q U E R Y    V A L I D A T O R
    $("#loanApp").validate({
        rules: {
            salary: {
            required: true,
            rangelength: [4, 10],
            number: true
            },
            creditScore: {
            required: true,
            rangelength: [3, 3],
            number: true
            },
            monthsJob: {
            required: true,
            rangelength: [1, 3], 
            number: true
            },  
            messages: {
                salary: {
                required: "Please enter your salary.",
                rangelength: "Enter at least 4 numbers and up to 10.",
                number: "Enter numbers only."
                },
                creditScore: {
                required: "Please enter your Credit Score.",
                rangelength: "Credit Scores are 3 numbers long.",
                number: "Enter numbers only."
                },
                monthsJob: {
                required: "Please enter your months at current job.",
                rangelength: "Enter at least 1 number and up to 3.",
                number: "Enter numbers only."
                }
            } 
        }
    });
});

暫無
暫無

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

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