用户注册 - 错误的逻辑

时间:2013-05-01 22:30:30

标签: javascript html debugging

我的代码存在多个问题。我已经编写了一个带有验证的用户注册表单,但是我需要帮助我将要写的内容保存在数据库中,如果我遗漏了任何内容。截至目前,它无法正常工作。当我点击注册时,它只刷新页面。

感谢您的帮助,谢谢。

<!DOCTYPE html>
<html lang="en">
<head>
<SCRIPT language="JavaScript"> 

                function validateRegistrationForm(){
            if(!validateEmailField()) // Invalid email format
            return false;
            if(!validatePasswordField()) // Invalid password length
            return false;
            if(validateUserNameField()) // invalide characters in email
        return false;
}

            function validateEmailField(){
            var x=document.getElementById("email").value;
            var atpos=x.indexOf("@");
            var dotpos=x.lastIndexOf(".");
            if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length)
{
            errorPopup("Not a valid e-mail address");
            return false;
}
    if(email==x) //If the old email is equal to the current then perform no check for uniqueness. On the server side the email portion will be ignored.
        return true;

    return isEmailUnique(); // return true if the email is unique
}
</script>


</head>

<body class="nobg loginPage">

    <header>
    </header>
    <div id="content">
        <div class="ic"></div>
        <div class="inner">
            <div class="container_12">
                <div class="wrapper">
                    <div class="grid_12">
                    </div>
                </div>
                <div class="wrapper">
                    <div class="grid_12">
                        <h2 class="h-pad1">Open an Account with Us</h2>
                        <form action="" id="validate" class="form" method="POST">
            <fieldset>
                <div class="formRow">
                    <label for="login">Username:</label>
                    <div class="loginInput"><input type="text" name="username" class="validate[required]" id="username" maxlength="15"/></div>
                    <div class="clear"></div>
                </div>

                <div class="formRow">
                    <label for="pass">Password:</label>
                    <div class="loginInput"><input type="password" name="password" class="validate[required]" id="pass" /></div>
                    <div class="clear"></div>
                </div>

                <div class="formRow">
                    <label for="pass">Repeat Password:</label>
                    <div class="loginInput"><input type="password" name="rpassword" class="validate[required]" id="rpass" /></div>
                    <div class="clear"></div>
                </div>

                <div class="formRow">
                    <label for="pass">Email:</label>
                    <div class="loginInput"><input type="text" name="email" class="validate[required]" id="email" /></div>
                    <div class="clear"></div>
                </div>

                <div class="formRow5">
                <script type="text/javascript" src="http://www.google.com/recaptcha/api/challenge?k=6Lfz39kSAAAAABY7fpEs0x1ZzvcFSP-gClbe8XYb"></script>
                <noscript>
                <iframe src="http://www.google.com/recaptcha/api/noscript?k=6Lfz39kSAAAAABY7fpEs0x1ZzvcFSP-gClbe8XYb" height="300" width="500" frameborder="0"></iframe><br/>
                <textarea name="recaptcha_challenge_field" rows="3" cols="40"></textarea>
                <input type="hidden" name="recaptcha_response_field" value="manual_challenge"/>
                </noscript> </div>
                <div class="loginControl">
                    <input type="submit" value="Register" class="dblueB logMeIn" name="registerBtn"/>
                    <div class="clear"></div>
                </div>
            </fieldset>
        </form>
                            </li>
                        </ul>
                    </div>
                </div>
            </div>          
        </div>
    </div>
    <footer>
        </div>
    </footer>
</body>
</html>

3 个答案:

答案 0 :(得分:1)

据我所知 - 您没有任何内容可以将表单提交与您编写的验证码相关联。提交表单时,您的validateRegistrationForm()函数是否被调用?

至于您的功能 - 如果表单元素有效,您将返回true,如果不是,则返回false。返回false将取消提交表单。

答案 1 :(得分:1)

在大多数情况下,您不能使用JavaScript写入数据库,因为JS是客户端代码,而数据库往往位于服务器上。在这种情况下,您需要使用服务器端语言(如.NET,PHP,Java等)。如果您可以说出要写入的数据库以及您正在使用的服务器语言(如果您已使用任何服务器语言),则可能会得到更详细的答案。

答案 2 :(得分:0)

在点击注册按钮之前,有一个javascript错误...

第14行第1列:“未捕获的SyntaxError:意外的令牌。”