0

我正在为单页网站探索 jQuery 和 bootstrap.js。如果不擅长复杂的 CSS 和 jQuery,这可能会有点麻烦。我的目标是在他们的 hero-box 示例上进行简单构建,该示例在右上角有一个登录表单,如下所示:http: //twitter.github.com/bootstrap/examples/hero.html

我有一个用于创建用户的工作表单,我使用了这个例子:http ://alittlecode.com/files/jQuery-Validate-Demo/

目标是将其与这些通知/警报之类的东西结合起来:http: //www.w3resource.com/twitter-bootstrap/alerts-and-errors-tutorial.php

我拥有的相关部分是:

$(document).ready(function(){
$.validator.addMethod('validChars', function (value) {

    var iChars = "!#$%^&*()+=-[]\\\';,/{}|\":<>?";

    for (var i = 0; i < value.length; i++) {
        if (iChars.indexOf(value.charAt(i)) != -1) {
         return false;
      }
    }

    return true;

    });


$('#login_form').validate(
        {
        rules: {
            login_email: {
            required: true,
            validChars:true,
            maxlength:50
            },
            login_password: {
            validChars:true,
            required: true
            }
        },
        highlight: function(input) {
            $(input).closest('.control-group').addClass('error');
        },
        unhighlight: function(input) {
            $(input).closest('.control-group').addClass('success');
        }
        });


});

我的表格如下所示:

                        <form id="login_form" name="login_form"; class="navbar-form pull-right control-group" action="">

                        <input  class="span2 control-group"  placeholder="Email" name="login_email" id="login_email">

                        <input  class="span2 control-group"  placeholder="Password" name="login_password" id="login_password">

                        <button class="btn login" type="button" onclick="login();">Sign in</button>
                        <button class="btn requestor" type="button" onclick="createForm();" >Create new account</button>
                    </form>

什么都没有发生,我真的没有想法。

通知或事件的野心是说明性的,我主要关心的是让验证连接到表单。

先感谢您!

4

1 回答 1

0

问题是你没有给出<input>'sa 类型。当它们没有类型时,验证无法处理输入。

Validate 像这样评估输入字段

 .validateDelegate("[type='text'], [type='password'], [type='file'], select, textarea, " +
                "[type='number'], [type='search'] ,[type='tel'], [type='url'], " +
                "[type='email'], [type='datetime'], [type='date'], [type='month'], " +
                "[type='week'], [type='time'], [type='datetime-local'], " +
                "[type='range'], [type='color'] ",
                "focusin focusout keyup", delegate)

不包括没有类型的输入。所以

<input type="text" class="span2 control-group"  placeholder="Email" name="login_email" id="login_email">

<input type="text" class="span2 control-group"  placeholder="Password" name="login_password" id="login_password">

会成功的!

于 2012-11-22T15:19:18.490 回答