[英]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.