2016-08-25 111 views
3

我有一個與我的數據庫連接,我的數據庫發送給我一些整數值,如「1」,「2」或類似的東西。例如,如果我的數據庫發送給我「3」我顯示第三頁面,它的工作,但我的問題是,當它顯示第三頁它沒有隱藏我目前page.I覺得我的代碼是錯誤的somewhere.Please幫我如何隱藏當前頁面

<script> 
      function show(shown, hidden) { 
       console.log(shown,hidden) 
       $("#"+shown).show(); 
       $("#"+hidden).hide(); 
      } 

      $(".content-form").submit(function(){ 
       var intRowCount = $(this).data('introwcount'); 
       var exec = 'show("Page"+data.result,"Page' + intRowCount + '")'; 
       ajaxSubmit("/post.php", $(this).serialize(), "", exec,"json"); 
       return false; 
      }) 


      function ajaxSubmit(urlx, datax, loadingAppendToDiv, resultEval, dataTypex, completeEval) { 
       if (typeof dataTypex == "undefined") { 
        dataTypex = "html"; 
       } 

       request = $.ajax({ 
        type: 'POST', 
        url: urlx, 
        dataType: dataTypex, 

        data: datax, 
        async: true, 
        beforeSend: function() { 
         $(".modalOverlay").show(); 
        }, 
        success: function(data, textStatus, jqXHR) { 
         //$("div#loader2").remove(); 
         loadingAppendToDiv !== "" ? $(loadingAppendToDiv).html(data) : ""; 
         if (typeof resultEval !== "undefined") { 
          eval(resultEval); 
         } else { 
          //do nothing. 
         } 

        }, 
        error: function() { 
         alert('An error occurred. Data does not retrieve.'); 
        }, 
        complete: function() { 
         if (typeof completeEval !== "undefined") { 
          eval(completeEval); 
         } else { 
          //do nothing. 
         } 
         $(".modalOverlay").hide(); 
        } 

       }); 

      } 
     </script> 
+0

'eval'是壞mmmkay - 只是傳遞一個回調匿名函數 –

+0

有人請幫助我 – Nuisance

回答

0

感謝您的幫助,我的代碼現在工作正常。由於緩存問題發生。當我清除谷歌瀏覽器中的緩存和Cookie時,它已修復。

+0

我的原始代碼運行我只是清除緩存和Google Chrome上的Cookie – Nuisance

0

傳遞到該節目的第二個參數()方法是有點不對:

"Page' + intRowCount + '" 

也許你的意思是:

'Page' + intRowCount 

編輯:等待等待你傳遞一串代碼到ajaxSubmit?它裏面發生了什麼?

如果ajaxSubmit會可以使用一個回調,試試這個:

var exec = function(data) { 
    show('Page' + data.result, 'Page' + intRowCount); 
}; 
+0

我很抱歉,但它不是在你的解決方案固定我的問題:( – Nuisance

+0

它不再更改頁面 – Nuisance

0

假設你的HTML是:

<div id='Page1'>..</div> 
<div id='Page2'>..</div> 
<div id='Page3'>..</div> 

類添加到每個這些股利(使用一個明智的名字,我的空間只是一個示例)

<div id='Page1' class='mypage'>..</div> 
<div id='Page2' class='mypage'>..</div> 
<div id='Page3' class='mypage'>..</div> 

傳遞要顯示和隱藏的頁碼所有ot她,即:

function showmypage(pageselector) { 
    $(".mypage").hide(); 
    $(pageselector).show(); 
} 

然後改變你的 '高管' 到:

var exec = 'showmypage("#Page"+data.result)'; 

這將是失職,我不建議您刪除eval,所以不是:

var exec = "..." 

使用功能:

var onsuccess = function() { showmypage("#Page"+data.result); }; 
function ajaxSubmit(..., onsuccess, ...) 
{ 
    ... 
    success: function(data) { 
     onsuccess(); 
    } 
} 
+0

我添加類=」 mypage'我所有的頁面div id的,但你能否請重寫我的函數的最終版本?因爲它沒有解決:/我認爲我寫錯了 – Nuisance

+0

你能幫我嗎 – Nuisance