2013-06-17 2 views
0

У меня есть скрипт Jquery для запуска модального всплывающего окна следующим образом: -

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

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

}); 
</script> 

Это отлично работает в первый раз, однако при Я отправляю форму, ее не вызывают во второй раз, и поэтому я теряю все классы css, а также форма не загружается в модальное окно снова.

Есть ли способ запустить этот JQuery снова после того как я отправлю форму?

Спасибо за вашу помощь и время

+0

Я определил некоторые классы css – Johann

+1

Как подать форму? –

+0

просто когда когда-либо вы отправляете форму, вызовите эти две строки снова, вы можете использовать событие «нажмите» или «отправить», чтобы позвонить им – CodeHunter

ответ

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'); 
     } 
0

Try:

$(document).ready(function() { 

    modal(); // call this wherever necessary 

}); 

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

Если ваша форма с использованием AJAX использования modal() на «успех» вызова ajax.

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"; 
} 
1

Если вы используете UpdatePanel на своей странице, вам необходимо переустановить все события, когда запрос AJAX завершается.

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

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

    $(document).ready(function() { 
     BindEvents(); 
    }); 
0

Если вы используете панель обновления попробуйте использовать следующий код:

Попробуйте вызвать функцию JQuery:

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

Вместо document.ready функции.

Смежные вопросы