2016-08-11 2 views
0

Я уже проверил это сообщение: Perform an action after trigger('click') finishes firing? Но ничего не пробовал до сих пор.действие после срабатывания триггерного щелчка

Предположим, что у меня есть это меню на моей странице:

<ul class="nav nav-tabs"> 
     <li role="presentation" id="home"> 
       <span> 
        Home 
       </span> 
      </li> 

      <li role="presentation" id="user"> 
       <span> 
        User 
       </span> 
      </li> 
</ul> 

Когда я нажимаю вкладку «пользователь», я получаю это содержание:

<button id="save-changes" role="button">Save it</button> 
<form> 
    <input type="text" id="nom" name="nom" placeholder="Your Name"> 
    <input type="text" id="prenom" name="prenom" placeholder="Your Surname"> 
    <input type="text" id="login" name="login" placeholder="Your Login"> 
</form> 

После отправки данных, я перенаправлены " Главная »:

<div> 
     <div class="breadcrumb"> 
      <div id="saved-success" style="display:none"> 
       Data Saved successfully 
      </div> 
     </div> 
     <div class="content-body"> 
      some stuff here... 
     </div> 

Я хочу, чтобы сообщение внутри div« saved-success »появилось. Для управления представить меня эту функцию JQuery:

$(document).on("click","#save-changes",function(){ 
    dataarray = array(
     login: $("#login").val(); 
     nom: $("#nom").val(); 
     prenom: $("#prenom").val(); 
    ); 
    $.post(getBaseUrl(true)+"/UserParam/saveUser",dataarray,function(){ 
     $("#home").trigger("click"); 
     $("#saved-success").css("display", "block"); 
    }); 

Я успешно перенаправлен на «дом», но ДИВ «спас-успех» остаются скрытыми. Нужна помощь со стороны экспертов. Как я могу показать сообщение после перенаправления?

+0

Вы уверены, что вы выполняете свой Javascript после «спасенных неуспех» был вынесен в DOM? Также ваш идентификатор кнопки «save-changes», а не «save-change», который у вас есть в вашем «кликвом» прослушивателе. – Strahdvonzar

+0

Использовать строку запроса для отправки определенных данных на перенаправленную страницу –

+0

Вы делаете pageload после '$ (« # home »). Trigger (« click »);' был запущен, так что вся страница перезагружается? – spoq

ответ

3

Попробуйте

$(document).on("click","#save-change",function(){ 
dataarray = array(
    login: $("#login").val(); 
    nom: $("#nom").val(); 
    prenom: $("#prenom").val(); 
); 
$.post(getBaseUrl(true)+"/UserParam/saveUser",dataarray,function(){ 
    $("#home").trigger("click"); 
    setTimeout(function(){ 
    document.getElementById("updated-success").style.display = "block"; 
    }},2000); 
}); 
+0

Это может сработать, если щелчок по дому не создает загрузку страницы. – spoq

+0

Спасибо, это работает как шарм! «setTimeout» сделал это! – Knighto05

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