0

だから私がやろうとしているのは、ユーザーがいくつかの情報を送信した後、アクションコール saveronda を呼び出してデータベースに情報を保存し、保存後に別のページにリダイレクトしたいということです。正しいですが、ビューは更新されていません。ここにコードがありますので、私の/rondas/chooserondaではこれを取得しました

<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 に ajax 呼び出しを行い、データを送信します。コードは次のとおりです。

<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 に値「sasa」を送信し、firebug を通じて /rondas/saveronda への投稿を検出しています。データを保存した後、ユーザーを /rondas/list にリダイレクトしたいので、別の解決策を試しています

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/listではありません

私のエラーは何ですか...事前に感謝..

4

1 に答える 1