我有一个Jquery脚本来启动模式弹出窗口,如下所示: -
<script type="text/javascript">
$(document).ready(function () {
$('.modal_part').fadeIn('slow');
$('#tn_select').load('OnBoarding.aspx');
});
</script>
这是第一次正常工作,但是当我提交表单时,它没有被第二次调用,因此我丢失了所有的css类,并且表单也没有再次加载到模态窗口中。
提交表单后,是否有办法再次触发此Jquery?
感谢您的帮助和时间
答案 0 :(得分:1)
如果您使用的是更新面板 比
试试这个
回发后调用你的javascript函数
//SCRIPT to refresh when data come from update panel
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_endRequest(EndRequest);
function EndRequest(sender, args) {
$('.modal_part').fadeIn('slow');
$('#tn_select').load('OnBoarding.aspx');
}
答案 1 :(得分:1)
如果您在页面中使用UpdatePanel
,则需要在AJAX请求结束时重新绑定所有事件。
function BindEvents(){
//your code here
}
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_endRequest(function() {
BindEvents();
});
$(document).ready(function () {
BindEvents();
});
答案 2 :(得分:0)
尝试:
$(document).ready(function () {
modal(); // call this wherever necessary
});
function modal() {
$('.modal_part').fadeIn('slow');
$('#tn_select').load('OnBoarding.aspx');
}
如果您使用ajax的表单在ajax调用的“成功”上使用modal()。
答案 3 :(得分:0)
在您的页面中创建一个隐藏字段...当您提交页面时,请在其中设置值。
再次在页面加载中,您需要检查值..
在aspx中
<asp:HiddenField ID="hdnfld" runat="server"/>
现在在JS: -
<script type="text/javascript">
$(document).ready(function () {
var myval=$("#hdnfld").val();
if(myval=="submitted"){
// this will execute after submit:-// you can add necessary code here :-
$('.modal_part').fadeIn('slow');
$('#tn_select').load('OnBoarding.aspx');
// Set its value again to null;
$("#hdnfld").val("");
}
else
{
// This will execute when page will load first time :-
$('.modal_part').fadeIn('slow');
$('#tn_select').load('OnBoarding.aspx');
}
});
</script>
和代码背后: -
protected void btn1_clicked(object sender,EventArgs e){
// set the hdn field:-
hdnfld.value="submitted";
}
答案 4 :(得分:0)
如果您使用的是更新面板,请尝试使用以下代码:
尝试调用jquery函数:
function pageload(sender, args){
//jquery code here
}
而不是document.ready
功能。