加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

twitter-bootstrap – Bootstrap模式上的Jquery验证无法正常工作

发布时间:2020-12-17 21:24:24 所属栏目:安全 来源:网络整理
导读:我想将url表单页面(远程)加载到模式中,它运行良好.但是对表单加载的 jquery验证只运行一次.当我再次加载表单时,除了刷新页面外,没有执行jquery验证.为什么这样.我的代码有什么问题. script type="text/javascript"$(document).ready(function(){ $('[data-to
我想将url表单页面(远程)加载到模式中,它运行良好.但是对表单加载的 jquery验证只运行一次.当我再次加载表单时,除了刷新页面外,没有执行jquery验证.为什么这样.我的代码有什么问题.

<script type="text/javascript">
$(document).ready(function(){
     $('[data-toggle="modal"]').click(function() {
        var url = $(this).attr('href').replace(/s/g,"+");
        if (url.indexOf('#') == 0) {
            $(url).modal('open');
        }else {
            $.get(url,function(data) {
                $(data).modal();
            }).success(function() {
                $('input:text:visible:first').focus();
                $("#frmAddMcb").validate({
                    submitHandler: function(form){
                        $('#modalAddMcb').modal('hide');
                        return postForm(form,"savemcb","Body","listmcb",false,false);
                    }
                });
            });
        }
    });
});
</script>
<div class="row-fluid">
<a href="addmcb" data-toggle="modal" class="btn btn-warning btn-xs link_href" title="Add MCB">Add MCB</a>

addmcb返回此表单

<div id="modalAddMcb" class="modal">
<div class="modal-dialogg">
    <div class="modal-content">
        <div class="modal-header">
            <button aria-hidden="true" data-dismiss="modal" class="close" type="button">×</button>
            <h4 class="modal-title">Add MCB</h4>
        </div>
        <div class="modal-body">
            <form id="frmAddMcb" enctype="multipart/form-data" class="form-horizontal" novalidate>
                <div class="form-group">
                    <label class="col-md-2 col-sm-2 control-label">Name *</label>
                    <div class="col-md-9">
                        <input type="text" name="mcb.name" class="form-control" value='<s:property value="%{mcb.name}"/>' required>
                    </div>
                </div>
                <div class="form-group">
                    <label class="col-md-2 col-sm-2 control-label">Image *</label>
                    <div class="col-md-9">
                        <input type="file" name="fileUploaded" class="form-control">
                    </div>
                </div>
                <div class="modal-footer">
                    <button data-dismiss="modal" class="btn btn-default" type="button">Cancel</button>
                    <button class="btn btn-primary" id="submit" type="submit"> Save</button>
                </div>
            </form>
        </div>
    </div>
</div>

解决方法

再次加载模式时,jquery验证不起作用,因为document.ready()事件中的验证代码$(“#frmAddMcb”).validate({..})不再运行(因为页面已经加载)你需要这个来验证你的表格.

要解决此问题,您可以将验证代码添加到模态的load事件中,以确保每次加载模态时它都会运行:

$('.modal').on('loaded.bs.modal',function (e) {
  // your validation code
})

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读