0

我使用代码来验证我的注册表单:http : //rickharrison.github.com/validate.js/ 这是我的自定义代码:

<!DOCTYPE html>
<html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">

     <link href="./js/main.css" rel="stylesheet" type="text/css">

    <script type="text/javascript" async="" src="./js/ga.js"></script>
    <script type="text/javascript" src="./js/jquery.min.js"></script>
    <script type="text/javascript" src="./js/validate.min.js"></script>
</head>
<body>


    <form name="createAccount" action="validate.php" method="POST">
        <label for="fname">First name:</label>
        <input name="fname" id="fname">

        <label for="lname">Last name:</label>
        <input name="lname" id="lname">
         <br/>
        <label for="email">Email:</label>
        <input name="email" id="email">
         <br/>
        <label for="password">Password:</label>   
        <input name="password" id="password" type="password">
         <br/>
        <label for="vPassword">Re-type password:</label> 
        <input name="vPassword" id="vPassword" type="password">
         <br/>
        <button class="button gray" type="submit" name="submit">Submit</button>
    </form>
    <div class="success_box">Si jvois ca ben tbnk</div>
    <div class="error_box"></div>
<script type="text/javascript">

    new FormValidator('createAccount', [{
        name: 'fname', 
        display: 'Please enter your first name.',
        rules: 'required'
    }, {
        name: 'lname',
        display: 'Please enter your name.',
        rules: 'required'
    }, {
        name: 'email',
        display: 'Please enter a valid email address.',
        rules: 'valid_email'
    }, {
        name: 'password',
        display: 'Please enter a password of at least 8 characters.',
        rules: 'required|min_length[8]'
    }, {
        name: 'vPassword',
        display: 'The passwords do not match.',
        rules: 'required|matches[password]'
    },  ], function(errors, event) {
        var SELECTOR_ERRORS = $('.error_box'),
            SELECTOR_SUCCESS = $('.success_box');
        if (errors.length > 0) {
            SELECTOR_ERRORS.empty();

            for (var i = 0, errorLength = errors.length; i < errorLength; i++) {
                SELECTOR_ERRORS.append(errors[i].message + '<br />');
            }

            SELECTOR_SUCCESS.css({ display: 'none' });
            SELECTOR_ERRORS.fadeIn(200);
        } else {
            SELECTOR_ERRORS.css({ display: 'none' });
            SELECTOR_SUCCESS.fadeIn(200);
        }

        if (event && event.preventDefault) {
            event.preventDefault();
        } else if (event) {
            event.returnValue = false;
        }
    });

    </script>


</body>
</html>

我尝试将“success_box”更改为重定向到我的 validate.php 页面的函数,但没有任何效果。我尝试将所有内容删除到success_box,并在错误数为0时创建一个重定向函数

if (errors === 0){ window.location = "http://www.google.com/";}   

但这也没有用。我没有答案了...

谢谢!

4

2 回答 2

0

尝试

if (errors == 0){ window.location = "http://www.google.com/";}

你不能=在一个条件下使用 single。

于 2013-03-25T02:41:33.690 回答
0

看看它的工作是真实的!

我刚刚删除了}, ], function(errors, event) {验证器规则数组中最后一个对象之后的逗号。

好的,现在我明白了。如果您希望您的表单在数据有效的情况下充当常规表单,请不要调用preventDefault()这种情况(因为您想要默认表单行为)。

于 2013-03-25T03:18:27.733 回答