0

我有一个 Jquery 脚本来启动一个模态弹出窗口,如下所示:-

<script type="text/javascript">
$(document).ready(function () {

    $('.modal_part').fadeIn('slow');
    $('#tn_select').load('OnBoarding.aspx');

});
</script>

这第一次工作正常,但是当我提交表单时,它没有被第二次调用,因此我失去了所有的 css 类,并且表单也没有再次加载到模式窗口中。

有没有办法在我提交表单后再次触发这个 Jquery?

感谢您的帮助和时间

4

5 回答 5

1

如果您UpdatePanel在页面中使用,则需要在 AJAX 请求结束时重新绑定所有事件。

    function BindEvents(){
        //your code here
    }
    var prm = Sys.WebForms.PageRequestManager.getInstance();

    prm.add_endRequest(function() {
        BindEvents();
    });

    $(document).ready(function () {
        BindEvents();
    });
于 2013-06-17T09:03:40.367 回答
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');
        }
于 2013-06-17T08:42:42.357 回答
0

尝试 :

 $(document).ready(function () {

    modal(); // call this wherever necessary

 });

 function modal() {
     $('.modal_part').fadeIn('slow');
     $('#tn_select').load('OnBoarding.aspx');
 }

如果您的表单使用 ajax 对 ajax 调用的“成功”使用 modal()。

于 2013-06-17T08:43:47.977 回答
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";
}
于 2013-06-17T08:53:50.927 回答
0

如果您使用的是更新面板,请尝试使用以下代码:

尝试调用 jquery 函数:

function pageload(sender, args){
    //jquery code here
}

而不是document.ready功能。

于 2013-06-17T09:15:15.030 回答