我有一個«newInput»按鈕,它在JavaScript中動態添加一個新的輸入,當我點擊它。動態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);
...
經過一番研究,我想看看是什麼,有人說我,這就是說localStorage,這是非常好的。 但我只用一個輸入的例子,因爲我把它寫在我的html中,但我不知道如何重新創建所有輸入。特別是因爲我使用JavaScript來添加新的輸入,所以我不知道如果我可以重新創建所有輸入。
您應該考慮通過ajax提交表單,並使用javascript處理響應(顯示錯誤消息等)。這樣你可以避免整個頁面重新加載的問題 – Jonah
沒有其他解決方案? – Choubidou
有很多解決方案,這只是我一起去的。另一種方式是正常提交頁面,並讓你的服務器返回更新後的html,動態添加內容 – Jonah