2013-12-09 51 views
0

我有一個«newInput»按鈕的形式,它在JavaScript中動態添加一個新的輸入,當我點擊它。Codeigniter動態javascript時使用負載 - >查看

當我在窗體中出現錯誤時,我使用窗體重新加載視圖。這是正常的,但..因爲我使用動態JavaScript添加新的輸入,當我重新加載時,所有添加的輸入都被刪除..

有什麼我可以做的嗎?

這是我view.tpl的爲例:

<input type="text" placeholder="ex: cerise" 
        onfocus="javascript:autoComplet('jigd1', '{site_url('recettes/getIngredient')}')" value="{set_value('igd[]')}" id="jigd1" name="igd[]"/> 
          {form_error('igd[]')} 

添加我的js的partiel代碼文件

var cpt=1; 
function addField(uriIngredient, uriLabel) { 
try 
{ 
cpt=cpt+1; 
var inputIgd = document.createElement('input'), 
button = document.createElement('input'), 
div = document.createElement('div'), 
inputIgd.setAttribute('type','text'); 
inputIgd.setAttribute('name','igd[]'); 
inputIgd.setAttribute('id','jigd'+cpt); 


button.setAttribute('type','button'); 
button.setAttribute('onclick','javascript:supField("igd'+cpt+'")'); 
button.setAttribute('value','Supprimer'); 
div.setAttribute('id','igd'+cpt); 
div.appendChild(inputIgd); 
div.appendChild(button); 
document.getElementById("listIgd").appendChild(div); 
... 
+0

可以請你在這裏寫的代碼...現在的問題不是很清楚 –

+0

嘗試給我們的小提琴鏈接 –

+0

可以收回所有發送該帖子或獲取有關錯誤的數據並重新創建視圖中的這些元素。 –

回答

1

因爲要附加新的輸入/按鈕,動態地而不是DOM通過創建Ajax調用/提交表單來保存其狀態,您不能在重新加載頁面後保留輸入/按鈕。

使用localStorage,保持以前添加的輸入/按鈕的信息將是更可取的。 PS:因爲你沒有添加任何你嘗試過的代碼,所以很難用特定的代碼來解釋localStorage。

只要你追加,加上國家的形式進入本地存儲, 的。當你加載頁面,查找localStorage的檢查先前添加的輸入 您可以設置的項目到localStorage的:

window.localStorage.setItem('key','value') 

可以這樣進行檢索:

window.localStorage.getItem('key') 
+0

嘿。 我試着看看你說的,這就是說localStorage,這是非常好的。但我只用了一個輸入的例子,我不知道如何處理所有輸入。 特別是因爲我使用JavaScript來添加新的輸入,我不知道我是否可以重新創建所有輸入。 – Choubidou