2013-08-07 5 views
0

, так что я пытаюсь сделать, после того, как пользователь отправил некоторую информацию, я делаю вызов вызова saveronda, чтобы сохранить информацию о базе данных, после сохранения я хочу перенаправить на другая страница, в соответствии с firebug html правильно, но представление не освежает. так вот код так в моей/rondas/chooseronda Айв получил этотпросмотр не обновляется после перенаправления zend

<span class="st-labeltext">Tags da ronda:</span> 



    <table id="toolbar2"></table> 
    <div id="ptoolbar2"></div> 


<div class="clear" style="z-index: 670;"></div> 
</div> 

<div class="st-form-line" style="z-index: 680;"> 
<span class="st-labeltext">Nome da ronda:</span> 

    <input type="text" name="nomeronda" id="nomeronda"> 




<div class="clear" style="z-index: 670;"></div> 
</div>  
<div class="st-form-line" style="z-index: 680;"> 
<span class="st-labeltext">Tag Inicial:</span> 


<select id="tagini" name="tagini"> 
</select> 
<div class="clear" style="z-index: 670;"></div> 
</div> 
<div class="st-form-line" style="z-index: 680;"> 
<span class="st-labeltext">Tag Final:</span> 


<select id="tagfim" name="tagfim"> 
</select> 
<div class="clear" style="z-index: 670;"></div> 
</div> 
<div class="st-form-line" style="z-index: 680;"> 
<span class="st-labeltext">Ordem:</span> 


<select id="ordem" name="ordem"> 
    <option value="Sim">Sim</option> 
    <option value="Não">Não</option> 
</select> 
<div class="clear" style="z-index: 670;"></div> 
</div> 
<div class="button-box" style="z-index: 460;"> 
<input id="button" class="st-button" type="submit" value="Submit" name="button"> 
<input id="button2" class="st-clear" type="reset" value="Cancel" name="button"> 
</div> 

, когда пользователь нажимает кнопку отправить я, сделав АЯКС вызов/rondas/saveronda и отправить некоторые данные, здесь код:

<script language = "Javascript"> 
    $(document).ready(function() { 
    $("#button").click(function() { 



        /* 
     $.ajax({ 
     url: '/rondas/saveronda', 
     type: 'POST', 
     data: {param1: param1, param2:param2 }, 
     datatype: "json" 
     */ 
     //buscar o nome 
     /*var nomeronda=$("#nomeronda").val(); 
     //buscar a ordem 
     var ordem=$("#ordem").val(); 

     //tag inicial e tag final 
     var taginicial=$("#tagini").val(); 
     var tagfinal=$("#tagfim").val(); 
     if(taginicial==tagfinal) 
      { 
       alert("a tag inicial não pode ser a mesma que a tag final"); 
      } 
      else 
       { 
        var tags=""; 
        //var allRowsOnCurrentPage = $('#toolbar2').getDataIDs(); 
        var ids = $("#toolbar2").jqGrid('getDataIDs'); 

        for (var i = 0; i < ids.length; i++) 
        { 
         var rowId = ids[i]; 
         var rowData = $('#toolbar2').jqGrid ('getRowData', rowId); 
          tags=tags+rowData.id_tag.toString()+' '; 



        }*/ 

       $.ajax({ 
          url: '/rondas/saveronda', 
          type: 'POST', 
          data: {param1: "sasa"}, 
          datatype: "json" 

        }); 
       //} 


    }); 
}); 

</script> 

в этом случае я посылаю param1 со значением «Саса», и через поджигатель я обнаружения пост к/rondas/saveronda. после сохранения данных я хочу, чтобы перенаправить пользователя/rondas/список, поэтому я пытался другое решение

public function saverondaAction() 
    { 
     // action body 

     /* 
      if($this->_request->isXmlHttpRequest()) 
     { 


     $param1 = $this->_request->getParam('param1'); 
     $param2 = $this->_request->getParam('param2'); 
     $param3 = $this->_request->getParam('param3'); 
     $param4 = $this->_request->getParam('param4'); 
     $param5 = $this->_request->getParam('param5'); 
     $rondasModel= new Application_Model_Ronda(); 


        $this->_forward('list', 'rondas'); 





      } 
     * 
     */ 

     $this->_helper->redirector->gotoRoute(
    array(
     'controller' => 'rondas', 
     'action' => 'list' 
    ) 
); 
    } 

или с помощью перенаправления или вперед .. никто не работал, вид по-прежнему является/rondas/choosetags и не/rondas/список

что моя ошибка ... заранее спасибо ..

ответ

1

Ваше первоначальное мнение /rondas/chooseronda когда пользователь нажимает кнопку отправить вам сделать АЯКС вызов /rondas/saveronda и отправить некоторые данные в ней , Теперь, если это успешно, вы хотите перенаправить с начальной страницы (/rondas/chooseronda) на /rondas/list.

Если код перенаправления, написанный в действии /rondas/saveronda, не работает, вы можете вернуть сообщение об успешном завершении в начальный вид (/rondas/chooseronda), там вам нужно будет обнаружить сообщение об успешности в jQuery ajax-коде. В случае успеха поставьте код перенаправления jQuery, который перенаправит его на /rondas/list.

+0

ОК, спасибо им, чтобы попробовать таким образом ... вещь в том, что согласно firebug html правильный. но позвольте мне попробовать, как вы указали. –

+0

хорошо, дайте мне знать, если это сработает. –

+0

это сработало ... спасибо большое –

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