簡體   English   中英

不知道為什么我會收到警報! “未定義”消息

[英]Don't know why I am getting an alert! 'undefined' message

我正在學習PHP,JavaScript。 下面的代碼來自我正在使用的一本教科書。

<script>
function validate(form)
    {
    fail  = validateForename(form.forename.value)
    fail += validateSurname(form.surname.value)
    fail += validateUsername(form.username.value)
    fail += validatePassword(form.password.value)
    fail += validateAge(form.age.value)
    fail += validateEmail(form.email.value)

    if   (fail == "") return true
    else { alert(fail); return false } 
    }
<body>

<table border="0" cellpadding="2" cellspacing="5" bgcolor="#eeeeee">
    <th colspan="2" align="center">Signup Form</th>
    <form method="post" action="adduser387.php" onSubmit="return      validate(this)">
<tr><td>Forename</td> ....

驗證功能起作用。 當所有字段都經過驗證並且我“提交”時,邏輯就會變為“ else {alert(fail); return false}'給我一個'undefined'消息-不知道為什么。 如果我提供的信息不足,請告訴我。 我在互聯網上找不到答案。 謝謝。

您的js函數必須是這樣的:

function validate(form) {
        var fail = '';
        fail += validateForename(form.forename.value);
        fail += validateSurname(form.surname.value);
        fail += validateUsername(form.username.value);
        fail += validatePassword(form.password.value);
        fail += validateAge(form.age.value);
        fail += validateEmail(form.email.value);

        if (fail == "") {
            return true;
        }
        else {
            alert(fail);
            return false
        }
    }

您的腳本的問題是未在任何地方定義fail因此undefined其值(不考慮您提交的驗證函數返回值),因此,如果fail == ""值將永遠為true因為undefined不等於'' ,這就是為什么否則條件會得到滿足。 由於failundefined值,因此您將收到undefined警報

暫無
暫無

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

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