2013-06-23 77 views
1

我正在開發一個帶有ratchet.js(及其push.js)的web應用程序,並且有一個非常基本的問題。我的CSS代碼將元素定位在三列中的一頁中。用戶然後可以點擊導航欄按鈕來轉到下一頁。一旦進入下一頁,用戶可以搜索某物。對於搜索,我通過表單處理它並使用jquery來檢測表單何時提交。但是,當表單被提交時,頁面被重新加載並且push.js出現故障。當發生這種情況並且用戶單擊返回到第一頁時,我的css無法正常工作,因爲它仍然被第二頁的內容div包圍。我的問題:有沒有辦法提交表單而不重新加載頁面(jQuery的event.preventDefault()不起作用)?如果沒有,可以使用push.js,然後在轉換完成後讓頁面自動重新加載?棘輪的push.js表單提交重新加載頁面,阻止push.js取代div

Basic代碼實例: 第1 ----

<body> 
     <div class="content"> 
      <div class="sliderBackground" id="sliderContainer" style="background: black; height: 40px; width: 100%;"> 
       <div id="left">random left</div> 
       <div id="center">random center</div> 
       <div id="right">random Right</div> 
      </div> 
     </div> 
    </body> 

頁2

<body> 
     <div class="content"> 
      <form id="search"> 
       <input type="search" id="searcher" placeholder="Search" style="width: 95%;"> 
      </form> 
     </div> 
    </body> 

    necessary imports (jquery etc) 

    <script type="text/javascript"> 
     $("#search").submit(function(event) { 
       event.preventDefault(); // does not do anything (push.js... reloads page) 
     }); 

    </script> 

重申我的問題,一個鏈路(在基本碼中未示出),以在用戶點擊使用push.js轉到第2頁,在頁面2中,他們確定,頁面重新加載的時候不應該(我正在使用ajax來利用搜索查詢等)。當用戶回來時,左邊,中間,右邊的css沒有長時間的工作。

+0

您是否嘗試將javascript放入內容中? – Nimo

回答

0

如果你嘗試以下(含返程假顏色):

<script type="text/javascript"> 
    $("#search").submit(function(event) { 
      event.preventDefault(); // does not do anything (push.js... reloads page) 
      // your logic here 

      return false; 
    }); 

</script> 
0

這可能是有點晚了,但我覺得你的問題是由推裝不明白運行的頁面腳本標記。

I.e.第2頁上的代碼根本沒有運行。