2012-06-20 2 views
0

У меня есть home.jsp (отображает данные в виде таблиц) внутри формы, которая открывает всплывающее окно для обновления данных (editUser.jsp).автоматическое обновление страницы jsp при обновлении данных в базе данных

<form method ="post" action="editUser.jsp" onsubmit="target_popup(this)"> 

editUser.jsp имеет форму, чтобы обновить данные

<form method="post" action="edit.jsp"> 

/*HTML FORM*/ 

после нажатия на кнопку отправки он идет на edit.jsp страницу, чтобы обновить данные в базу данных. На странице edit.jsp содержится только код Java для обновления данных и ничего больше.

Теперь мне нужно обновить домашнюю страницу home.jsp после того, как данные будут вставлены в базу данных или когда нажата кнопка отправки в editUser.jsp? Как я могу это сделать ?? До сих пор я должен вручную обновить страницу. потока управления веб-страниц

home.jsp -> editUser.jsp -> edit.jsp

$(function(){ 
       $("#submit").click(function(){ 

        var a=$("#ID").val(); 
        var b=$("#NAME").val(); 
        var c=$("#PWD").val(); 
        var datastring='ID=' + a + '&NAME=' + b+'&PWD='+c ; 

         $.ajax 
         ({ 
           type: "POST", 
           url: "edit.jsp", 
           data: datastring, 
           success: function(){ 

             window.close(); 
             window.location.href="home.jsp"; 


                 } 
         }); 
       }); 
      }); 

но этот код не работает. Как мне это сделать????

ответ

0

Возможно, вы заинтересованы в реализации чего-то вроде Knockout для вашего прецедента. Это структура MVVM Javascript с поддержкой наблюдаемых объектов, которые автоматически обновляются на клиенте при смене сервера. Таким образом, вам не придется выполнять жесткую перезагрузку/перезагрузку страницы.

+0

нет другого пути ?? – sam

+0

Ну, вы можете подключить свою логику обновления через событие в своем родительском окне и запустить это событие из дочернего (всплывающего) окна, чтобы эффективно инициировать обновление страницы. [См. Здесь] (http://stackoverflow.com/a/10767356/304588). –

+0

Могу ли я сделать это с помощью Ajax, но я не знаю, как реализовать AJAX ???? – sam

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