IE 9中的Twitter Bootstrap + jQuery验证问题

时间:2011-10-12 07:30:00

标签: jquery jquery-validate internet-explorer-9 modal-dialog twitter-bootstrap

我在使用modal显示登录框(bootstrap-modal.js)的页面上使用twitter bootstrap css框架。在登录框中,我使用jquery非常简单的验证(jquery.rsv.js)来验证电子邮件ID和密码。问题是验证在IE 9中的登录模式框内不起作用。在同一页面上,我有另一个不在模态中的表单,验证工作完全正常。

下面是我的bootstrap模态表单代码: -

<div id="modal-from-login" class="modal hide fade">
            <div class="modal-header">
              <a href="#" class="close">&times;</a>
              <h3>Login for existing customers</h3>
            </div>
            <div class="modal-body">

    <form id="loginform" name="loginform" method="post" action="login/">

        <div class="clearfix"><label for="comments">Email ID:</label>
            <input type="text" name="email" id="loginemail" /></div>
        <div class="clearfix"><label for="comments">Password:</label>
            <input type="password" name="password" id="loginpassword" />
    </div>
        </div>

    <div class="modal-footer">
        <input type="submit" style="float:left;margin-left:130px;" name="login" id="login" value="Login" class="btn primary" />
    </div>

</form>
    </div>


这是按钮代码: -

<button class="btn primary" data-controls-modal="modal-from-login" data-backdrop="true" data-keyboard="true" style="margin-top:5px;">Login</button>

用于验证的JavaScript代码: -     
<button class="btn primary" data-controls-modal="modal-from-login" data-backdrop="true" data-keyboard="true" style="margin-top:5px;">Login</button>

我正在使用jquery 1.4.2

问题是什么?此代码在所有其他浏览器中工作正常,即使在IE8中,问题仅存在于IE 9中。

1 个答案:

答案 0 :(得分:1)

您的代码约定非常糟糕,让读者疯狂。

  1. 我的第一个建议是,您自己始终是您的代码的读者,为了您自己的方便,请将您的代码格式化(缩进,命名约定等)。并且同意Synchro,我认为在jQuery中,你应该更喜欢使用:

    $( “#form_id”)

    而不是:

    的document.getElementById( “form_id”)

  2. 我的第二个建议:让你的问题更清晰。 “问题是验证在IE 9的登录模式框内不起作用”。有很多情况使它不起作用。有JS错误吗?或者是否在没有字段验证的情况下成功提交表单?你是否关注IE9的开发者工具控制台?在提交表单时是否有错误消息?

  3. 我的第三个问题:我看到你定义了一个名为“my_custom_function()”的自定义函数,但你没有使用它。看到你的代码:

    您应该将这行代码插入到数组中:

    规则:[     //其他验证规则......     “功能,my_custom_function” ]