2013-02-10 30 views
0

我是一名非常綠色的程序員,無法在網絡上的任何位置找到答案,解決我的問題。感謝您的幫助!我正在嘗試爲允許上傳並允許用戶註銷的用戶創建一個基本登錄頁面。在登錄期間,我開始一個會話。有用。對於上傳和註銷,我使用jquery.form.js庫來利用表單功能。對於我的代碼的上傳部分,一切正常。用戶可以上傳任何類型的圖像,該按鈕在上傳過程中停用,然後在新上傳成功後重新激活。但是,對於註銷部分,在單擊註銷按鈕並銷燬會話後,註銷按鈕會消失。我認爲這可能與會話銷燬有關,但即使沒有在我的PHP中,按鈕也不見了。我在下面複製了我的代碼的註銷部分,依次爲html,js和php。有任何想法嗎?謝謝!使用html,jquery和php消失註銷按鈕

<html> 
    <head> 
     <title>Sample</title> 
     <meta http-equiv= "Content-Type" content="text/html; charset=UTF-8"> 
      <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script> 
      <script type = "text/javascript" src = "js/jquery.form.js"></script>  
      <script type = "text/javascript" src = "js/xmlRequest.js"></script> 
      <script>xmlRequest = new xmlRequest();</script> 
      <script type = "text/javascript" src = "js/fileUpload.js"></script> 
      <script>fileUpload = new fileUpload();</script> 
    </head> 
    <body> 
     <div id = 'userLogout'> 
      <form action="php/logout.php" id = "logoutSection" enctype = "multipart/form-data" method = "post" > 
       <button type="submit" id="logoutButton">Close!</button> 
      </form> 
     </div> 

     <div id = 'logOutOutput'> 
     </div> 
    </body> 
</html> 



function fileUpload() 
{ 
$(document).ready(function() 
    { 
     $('#logoutSection').on('submit',function(a){ 

       //prevent default action of going to new page. 
       a.preventDefault(); 
       $('#logoutButton').attr('disabled',''); 
       $(this).ajaxSubmit({ 
        target: '#userLogout', 
        success: afterLogout//output a thank you message 
       }); 
       $('#loginForm').show(); 
       $('#logOutOutput').append("<br>Thanks for checking us out!<br>"); 
      }); 
    }); 

    function afterLogout() 
    { 
     $('#logoutSection').resetForm(); 
     $('#logoutButton').removeAttr('disabled'); 
    } 
} 


<?php 
    echo "<br>Goner<br>"; 
    session_start();//always required for sessions 
    session_destroy();//logs out 
?> 

回答

0

我相信,雖然我不知道爲什麼按鈕登錄了之後去的原因是因爲您正在使用ajaxSubmittarget設置爲#userLogout選項指向表單的父DIV。

的ajaxSubmit會後是成功它會隨着AJAX操作的結果替換<div id='userLogout'> ... </div>內容。

我會這樣說: <div id='output'></div> <div id = 'userLogout'> <form action="php/logout.php" id = "logoutSection" enctype = "multipart/form-data" method = "post" > <button type="submit" id="logoutButton">Close!</button> </form> </div>

和ajaxSubmit的目標更改爲target: 'output'

閱讀本 http://www.justwebdevelopment.com/blog/ajaxform-and-ajaxsubmit-options/ 目標 標識與服務器響應進行更新的頁面元素(一個或多個)。該值可以被指定爲jQuery選擇字符串,jQuery對象或DOM元素。 默認值:空

+0

THANK YOU !!!!!!!!!!!!!我無法相信我錯過了這一點。在上傳部分,我正在更改與上傳div不同的目標。在註銷部分,我正在取代所有內容。我只是嘗試了你的建議,而且它工作。非常感謝的人! – Nick 2013-02-10 23:22:30