$(document).ready(function()在提交表单时不再触发

时间:2013-06-17 08:17:23

标签: c# jquery asp.net modal-dialog

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

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

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

});
</script>

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

提交表单后,是否有办法再次触发此Jquery?

感谢您的帮助和时间

5 个答案:

答案 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功能。