2012-05-05 35 views
0

我正在使用jQuery的.html()方法修改空的<div>。當我刷新頁面時,添加的代碼消失。jQuery html在刷新時消失

$('#div').html($('#div').html() + '<div>'+obj.name+'&nbsp;<a href="">(x)</a>'); 

是否可以改變行爲或使用其他方法?

感謝

編輯:

到calify我的問題

也許它是一個設計錯誤。它是一個帶有一些字段和第二種形式的表單,用戶可以在上傳文件後上傳文件,然後在div中添加文件名和刪除鏈接。如果用戶提交表單,程序會連接創建的對象和文件。這不是真正的頁面,任何人都不需要刷新,但它可能發生,然後文件被保存在數據庫中,但是信息丟失以將其與表單對象連接。

+3

當發生修改時,我們需要知道*。點擊?如果是的話,你怎麼能期望在頁面刷新* *點擊*將被稱爲 - 如果你不叫你自己,或者你只是簡單地調用一個函數? –

+0

+1 Roko,這完全取決於上下文。什麼刷新頁面?什麼時候進行了修改?怎麼樣?任何其他框架涉及? –

+0

我不明白,你用同樣的html +一個或兩個元素替換整個html嗎? – adeneo

回答

3

當然,無論何時重新加載頁面,所有元素都會回到原始狀態(從服務器加載)。但是有辦法解決這個問題。

  • 使用Cookie
  • 使用HTML本地存儲

你必須瞭解客戶端腳本作品。修改發生在客戶端的系統上,而不是服務器上,腳本將從其中加載。

2

你應該創建一個函數:

function doMyStuff(){  
    //your code here  
} 
doMyStuff(); // that will be triggered on DOM ready // page refresh, whateva' 

$('#element').on('click',function(){ 
    doMyStuff(); // you call your function on click 
}); 
0

我真的不明白,你在這裏做什麼,但你可以把一個#div P A你要鏈接的HTML頁面本身。然後,如果您想在用戶單擊按鈕時更改該行代碼,則可以使用CSS來完成該操作。

具體地說,就像這樣:

<div> 
    <p><a id="example" href="www.example.com">Example</a></p> 
</div> 

,如果說,用戶點擊一個按鈕(的onClick()...)

$('div p a#example').html(//what you want to do here); 

這或許應該改變代碼。

這樣,您的瀏覽器不會在HTML本身中顯示空白位置,同時您等待客戶端先移動。