繁体   English   中英

在ASP.net MVC的部分视图中的模式弹出提交按钮上调用jQuery函数时未调用

[英]Jquery function not called when called on modal pop up submit button in partial view in ASP.net MVC

我想在模态弹出式提交按钮上调用jquery函数,该按钮处于部分视图中,但是如果该按钮处于局部视图中,则不会调用该函数,仅当我将模态弹出窗口置于主视图中时才调用该函数。 如何解决这个问题...请帮助..谢谢

Index.cshtml

 @Html.ActionLink("Create", "Create", null, null, new { id = "btnCreate", @class = "btn btn-small btn-info" })
    <script type="text/javascript">
        $(function () {
            $.ajaxSetup({ cache: false });
            $('#btnCreate').click(function () {
                alert("function called");
                $('.modal-dialog').load(this.href, function () {
                    $('#ShowModalDialog').modal({
                        backdrop: 'static',
                        keyboard: true
                    }, 'show');
                });
                return false;
            });
        });
    </script>
</head>
<body>
    <script type="text/javascript">
        $(document).ready(function () {
            $('#Useremail').blur(function () {
                alert("func called");
                $.ajax({
                    type: 'POST',
                    contentType: "application/json; charset=utf-8",
                    url: 'Home/Search',
                    data: "{'searchString':'" + document.getElementById('Useremail').value + "'}",
                    async: false,
                    success: function (response) {
                        alert("Record found");
                    },
                    error: function () { alert("record not found"); }
                });
            });
        });
    </script>
    <div id='ShowModalDialog' class='modal fade in'>
        <div class='modal-dialog'>
        </div>
    </div>
</body>
</html>

_Create.cshtml PartialView

@model MvcTwitterBootstrap.Models.UserDetail
<div class="modal-content">
    <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">
            ×</button>
        <h3 id="myModalLabel">
            Registration</h3>
    </div>
    @using (Html.BeginForm("Create", "Home", FormMethod.Post, new { @class = "modal-form" }))
    {
        @Html.ValidationSummary()

        <div class="modal-body">
            <div>
                @Html.LabelFor(x => x.UserEmail)
                @Html.TextBoxFor(x => x.UserEmail, new { @id = "Useremail" })
                @Html.ValidationMessageFor(x => x.UserEmail)
            </div>
            <div>
                @Html.LabelFor(x => x.UserPassword)
                @Html.TextBoxFor(x => x.UserPassword, new { id = "Userpassword" })
                @Html.ValidationMessageFor(x => x.UserPassword)
            </div>
        </div>

        <div class="modal-footer">
            <button class="btn" data-dismiss="modal" aria-hidden="true">
                Cancel</button>
            <button class="btn btn-primary" type="button" id="btnsubmit">
                Save</button>
        </div>
    }
</div>

对于加载后添加到表单的项目,您需要将功能放在文档上而不是项目上

$(document).on('click', '#btnCreate', function(){
    //code
});

另一个选择是将所有点击事件放入一个函数中

function LoadScript(){
    //jquery code here
}

然后在部分加载后调用该函数

$('#divContent').html(result);
LoadScript();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM