为什么这些确认模式没有出现?

时间:2014-05-19 14:18:47

标签: javascript jquery forms validation twitter-bootstrap

我使用的是使用bootstrap的模板。我在显示模态时遇到了麻烦。

表单有一个jquery验证,如果一切正常,那么当点击提交确认模式时,应该会询问用户是否确定他想要存储该信息。如果表单未通过验证,则会显示一条简单消息。 对于上面提到的行动,我建立了这个:

    <form action="#" id="form_sample_2" class="form-horizontal">
        <div class="alert alert-error hide">
            <button class="close" data-dismiss="alert"></button>Existen errores en el formulario. Por favor verifique.</div>
        <!-- modal -->
        <div id="myModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel3" aria-hidden="true">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-hidden="true"></button>
                <h3 id="myModalLabel3">Cargar Usuario</h3>

            </div>
            <div class="modal-body">
                <p></p>
            </div>
            <div class="modal-footer">
                <button class="btn" data-dismiss="modal" aria-hidden="true">Cerrar</button>
                <button data-dismiss="modal" class="btn green" id="btnYes">Confirmar</button>
            </div>
        </div>
        <!-- end modal -->
    </form>

如您所见,模态和错误消息具有属性&#34;隐藏&#34; ...

js文件:

var handleValidation2 = function () {
        // for more info visit the official plugin documentation: 
        // http://docs.jquery.com/Plugins/Validation

        var form2 = $('#form_sample_2');
        var error2 = $('.alert-error', form2);
        var success2 = $('#myModal', form2);

        //IMPORTANT: update CKEDITOR textarea with actual content before submit
        form2.on('submit', function () {
            for (var instanceName in CKEDITOR.instances) {
                CKEDITOR.instances[instanceName].updateElement();
            }
        })

        form2.validate({
            errorElement: 'span', //default input error message container
            errorClass: 'help-inline', // default input error message class
            focusInvalid: false, // do not focus the last invalid input
            ignore: "",
            rules: {
                //some code
            },
            submitHandler: function (form) {
                success2.show();
                error2.hide();
            }
            //some code

在此代码段中,如果表单未通过验证,则error2.hide()函数会显示警告错误消息。

当success2.show()函数显示确认模式时,表单通过验证时出现问题,但它没有这样做。当表格没问题时什么也没出现,我想知道我做错了什么。

非常感谢任何帮助。

学家

2 个答案:

答案 0 :(得分:1)

而不是success2.show();使用success2.modal('show')

这应该可以解决您的问题

答案 1 :(得分:-1)

submitHandler: function (form) {
                success2.removeAttr('aria-hidden');
                success2.show();
                error2.hide();
}

你试图删除attr aria-hidden。希望为你工作