ugrás a tartalomhoz

input text amnéziás lesz innerHTML használatakor

sirkalmi · 2008. Feb. 6. (Sze), 23.33
Szervusztok!

Van egy div-em amiben van pl. 2 db input text-em, amit a felhasználó már ki is töltött. Van egy onclick eseményre meghívódó innerHTML mely hozzáad a div-hez még egy input text-et. Az eredmény az, hogy az adott div-ben lévő input text mezők tartalma elvész! Csak FF-ban műveli ezt. Lehet ez ellen védekezni? Kínomban azt csinálom, hogy innerHTML előtt lementem egy tömbbe az input text mezők értékeit majd visszaírom, de összetettebb szerkezeteknél bonyolult ez!

Válaszokat nagyon köszönöm!

--
sirkalmi
 
1

Lemaradt

sirkalmi · 2008. Feb. 6. (Sze), 23.35
Azt elfelejtettem megemlíteni, hogy az eredeti kezdőértékek tehát amit nem a user írt bele hanem a html input text value-nál lett megadva az megmarad! Pont úgy működik a jelenség mintha resetelné valaki a form-ot.

--
sirkalmi
2

kód...

TeeCee · 2008. Feb. 7. (Cs), 07.50
... nélkül nehéz lesz megmondani. Esetleg fel is rakhatod valahova, hogy lássuk...
3

A kód

sirkalmi · 2008. Feb. 7. (Cs), 10.26
Ide bemásoltam azt a kódot ami az érintett tartalmat kezeli: http://phpfi.com/294884 Mint látható az addQuestion, addAnswer, addGroup metódusok azzal kezdődnek, hogy lementem az érintett intput mezők tartalmát majd az innerHTML-es manővert követően visszaírom őket.

--
sirkalmi
4

És miv van, ha...

vbence · 2008. Feb. 7. (Cs), 11.05
ehelyett
		inputs[i].value = questions[i];
ezt próbálod
		inputs[i].value = "blah blah";
?

Vagy, ha ehelyett:
	inputs = document.getElementById('createQuestionnaire').elements['question_' + groupId];
	for(var i = 0; i < questions.length; i++) {
		inputs[i].value = questions[i];
	}
ezt

    setTimeout(function() {
        inputs = document.getElementById('createQuestionnaire').elements['question_' + groupId];
        for(var i = 0; i < questions.length; i++) {
            inputs[i].value = questions[i];
        }
    }, 1);
?