2013-07-08 83 views
0

我在做一個公告板寫作頁面。將數據插入數據庫後,如何移動頁面?

如果用戶寫入主板的主題和內容並按下寫入按鈕,它會轉到服務器端並將數據插入數據庫。之後,它將頁面重定位到公告板列表頁面。直接,前進和輕鬆。

但問題是同步。

有時會在數據插入之前重新定位頁面。

因此,用戶必須刷新頁面才能更新視圖。

如何在「」數據已插入到數據庫後顯示頁面

這是代碼

   <title>Insert title here</title> 
       <base href="<?php echo base_url(); ?>" /> 
       <link type="text/css" rel="stylesheet" href="formstyle.css"> 
       <link type="text/css" rel="stylesheet" href="buttonstyle.css"> 
       <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"> 
       </script> 
       <script type="text/javascript"> 

        $(function(){ 
         $("#writebutton").click(function(){ 
          $.ajax({ 
           type: 'POST', 
           url: "http://10.222.223.53/test1/index.php/home/writecomplete", 
           data: { 
            'subject': $("#subject").val(), 
            'content': $("#content").val() 
           }, 
           success: function(msg){ 
            location.href="http://10.222.223.53/test1"; 
           } 
          }); 

         }); 
        }); 
       </script> 
      </head> 
      <body> 
       <!-- UI Object --> 
       <fieldset> 
        <legend> 
         글쓰기 생성 
        </legend> 
        <div class="form_table"> 
         <table border="1" cellspacing="0" summary="표의 요약을 반드시 넣어 주세요"> 
          <tbody> 
           <tr> 
            <th scope="row"> 
             제목 
            </th> 
            <td> 
             <div class="item"> 
              <input type="text" style="width:320px" name="subject" title="레이블 텍스트" class="i_text" id="subject"> 
             </div> 
            </td> 
           </tr> 
           <tr> 
            <th scope="row"> 
             내용 
            </th> 
            <td> 
             <div class="item"> 


              <textarea name="content" cols="50" rows="5" title="레이블 텍스트" class="i_text" id="content"></textarea> 
             </div> 
            </td> 
           </tr> 
          </tbody> 
         </table> 
        </div> 
        <table> 
         <tr> 
          <td> 
           <span class="btn_pack medium" id="board_list"><a href="http://10.222.223.53/test1/index.php/home/gotolist">목록</a></span> 
          </td> 
         </tr> 
         <tr> 
          <td> 
           <span class="btn_pack medium" id="write_complete"><input type="submit" value="작성완료" id="writebutton"></span> 
          </td> 
         </tr> 
        </table> 
       </fieldset> 
      </body> 
     </html> 
+0

它的怪異,但你可以做2個重定向,因爲我本身可以通過你'JavaScript'重定向,所以它重定向而不是'/ test1'爲「重定向頁」(可以說'/ redirect' where index in(){redirect('/ test1');}'另一個提示:也嘗試'window.location.reload(true);'而不是'location.href ...' – Kyslik

+0

重定向查詢成功 –

+0

所有你需要做的是在DB修改完成時從你的腳本返回true,並且直到服務器發回響應,成功函數纔會觸發。$沒有'default timeout'。 ajax()調用,儘管一些瀏覽器(如FireFox)確實有這樣的值,但它被設置爲null ',所以只要你願意,你就可以進行處理,直到完成任務。 – Ohgodwhy

回答

2

<form>元素沒有正確關閉。檢查你所有的其他標籤。

您應該處理.submit()而不是.click()

您不應允許默認操作(提交)繼續,它與您擁有的代碼一起進行。

試試這個:

 $(".form_table").submit(function(e){ 
     e.preventDefault(); // prevent default 'submit' 
     $.ajax({ 
     // do your ajax stuff here. 
     });  
    });