InnerHTML verwijderd waardes uit textfields.
Hallo,
Ik heb een heel groot probleem en dat is dat innterHTML waardes uit mijn textfield verwijderd.
Wanneer ik dit heb:
En ik heb een waarde in 'item' staan dan wordt deze waarde verwijderd wanneer ik die bovenste code uitvoer.
Hoe kan dit en hoe is dit op te lossen?
Alvast bedankt
Kevin
Ik heb een heel groot probleem en dat is dat innterHTML waardes uit mijn textfield verwijderd.
Wanneer ik dit heb:
En ik heb een waarde in 'item' staan dan wordt deze waarde verwijderd wanneer ik die bovenste code uitvoer.
Hoe kan dit en hoe is dit op te lossen?
Alvast bedankt
Kevin
Gesponsorde koppelingen:
omdat innerHTML de orginele waarde van de HTML bevat , wat een lege input is
Gelukkig is dat op deze manier relatief makkelijk op te vangen ;)
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<div id="text">
<input name='item' type='text' id="item">
</div>
d = document.getElementById("text");
val = document.getElementById('item').value
d.innerHTML += "123";
document.getElementById('item').value = val
<input name='item' type='text' id="item">
</div>
d = document.getElementById("text");
val = document.getElementById('item').value
d.innerHTML += "123";
document.getElementById('item').value = val
Gelukkig is dat op deze manier relatief makkelijk op te vangen ;)
Gewijzigd op 08/09/2011 14:35:16 door Jacco Engel
Jacco Engel op 08/09/2011 14:31:03:
omdat innerHTML de orginele waarde van de HTML bevat , wat een lege input is
Gelukkig is dat op deze manier relatief makkelijk op te vangen ;)
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<div id="text">
<input name='item' type='text' id="item">
</div>
d = document.getElementById("text");
val = document.getElementById('item').value
d.innerHTML += "123";
document.getElementById('item').value = val
<input name='item' type='text' id="item">
</div>
d = document.getElementById("text");
val = document.getElementById('item').value
d.innerHTML += "123";
document.getElementById('item').value = val
Gelukkig is dat op deze manier relatief makkelijk op te vangen ;)
En wat nou als ik het volgende doe?:
Code (php)
1
2
3
4
2
3
4
d = document.getElementById("text");
val = document.getElementById('item').value
d.innerHTML += "<input name='item[]' type='text'>";
document.getElementById('item').value = val
val = document.getElementById('item').value
d.innerHTML += "<input name='item[]' type='text'>";
document.getElementById('item').value = val
Dus dat ik meerdere input velden toevoeg?
Of is er een betere manier om exta invulvelden toe te voegen?
moment ik kijk ff
Jacco Engel op 08/09/2011 14:40:54:
moment ik kijk ff
ah top want ik kom er niet meer uit :(
okey, los van het feit dat een library het sneller makkelijker of beter kan kun je het tot in oneindigheid in pricipe op deze manier oplossen :
ja DOM, maar daar heb ik nu echt ff geen tijd voor :P
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
d = document.getElementById("text");
value=Array()
for(input in document.getElementsByTagName('input'))
{
if (!isNaN(input))
{
value[input] = document.getElementsByTagName('input')[input].value
}
}
d.innerHTML += "<br /><input name='item[]' type='text'>";
for(input in document.getElementsByTagName('input'))
{
if (!isNaN(input) && value[input] !== undefined)
{
document.getElementsByTagName('input')[input].value = value[input]
}
}
value=Array()
for(input in document.getElementsByTagName('input'))
{
if (!isNaN(input))
{
value[input] = document.getElementsByTagName('input')[input].value
}
}
d.innerHTML += "<br /><input name='item[]' type='text'>";
for(input in document.getElementsByTagName('input'))
{
if (!isNaN(input) && value[input] !== undefined)
{
document.getElementsByTagName('input')[input].value = value[input]
}
}
Quote:
Of is er een betere manier om exta invulvelden toe te voegen?
ja DOM, maar daar heb ik nu echt ff geen tijd voor :P
Gewijzigd op 08/09/2011 14:54:03 door Jacco Engel
Ah werkt nog niet, in een los document wel maar in mijn adminsysteem niet....
Dit is echt heel raar :(
Toevoeging op 08/09/2011 15:07:24:
Ok ik heb in het script even wat meer alerts gezet:
"Test" wordt wel weergeven
"Hallo2" wordt niet weergeven
Toch nog een klein foutje?
EDIT:
Los wel in mijn adminsysteem niet. Wat kan de fout zijn ?
Dit is echt heel raar :(
Toevoeging op 08/09/2011 15:07:24:
Ok ik heb in het script even wat meer alerts gezet:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
d = document.getElementById("sajnfskajdnfkjdsf");
value=Array()
alert("start")
for(input in document.getElementsByTagName('input'))
{
if (!isNaN(input))
{
value[input] = document.getElementsByTagName('input')[input].value
alert("hallo2")
}
}
d.innerHTML += "<br /><input name='item[]' type='text'>";
for(input in document.getElementsByTagName('input'))
{
if (!isNaN(input) && value[input] !== undefined)
{
document.getElementsByTagName('input')[input].value = value[input]
}
}
value=Array()
alert("start")
for(input in document.getElementsByTagName('input'))
{
if (!isNaN(input))
{
value[input] = document.getElementsByTagName('input')[input].value
alert("hallo2")
}
}
d.innerHTML += "<br /><input name='item[]' type='text'>";
for(input in document.getElementsByTagName('input'))
{
if (!isNaN(input) && value[input] !== undefined)
{
document.getElementsByTagName('input')[input].value = value[input]
}
}
"Test" wordt wel weergeven
"Hallo2" wordt niet weergeven
Toch nog een klein foutje?
EDIT:
Los wel in mijn adminsysteem niet. Wat kan de fout zijn ?
Als je Firefox en firebug gebruikt kun je dat makkelijk vinden, tevens kun je dan console.log() gebruiken ipv alert() :)
Verder als je die setup hebt zou ik zeggen voeg op regel 6 (zoals de bovenstaande code is) eens de volgende regel in :
console.log(input)
!isNaN doet namelijk een is numeric check en zou kunnen dat hij daar in jou systeem op 1 of andere manier niet goed door komt
Verder als je die setup hebt zou ik zeggen voeg op regel 6 (zoals de bovenstaande code is) eens de volgende regel in :
console.log(input)
!isNaN doet namelijk een is numeric check en zou kunnen dat hij daar in jou systeem op 1 of andere manier niet goed door komt
Het is zowieso raar zijn mijn script de waardes verwijderd inplaats dat die in een losdocumentje wel goed werkt.
de <form> tag is overal het zelfde BEHALVE: de pagina waar dit opkomt te staan, staan nog meer velden en textfields.
Kan dit een probleem zijn?
de <form> tag is overal het zelfde BEHALVE: de pagina waar dit opkomt te staan, staan nog meer velden en textfields.
Kan dit een probleem zijn?
Yup dat kan :) want op dit moment haal ik alle inputs op dus je hele form zeg maar :P
Toevoeging op 08/09/2011 15:24:49:
Probeer hem eens zo? Tevens kleine opmerking, je moet je base input (die er standaard al staat) ook even item[] noemen ipv item (anders snapt dit jsje hem niet)
Als deze het ook niet doet zou ik toch een framework als jQuery gaan overwegen :)
Toevoeging op 08/09/2011 15:24:49:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
d = document.getElementById("sajnfskajdnfkjdsf");
value=Array()
for(input in document.getElementsByTagName('input'))
{
if (document.getElementsByTagName('input')[input].name == 'item[]')
{
value[input] = document.getElementsByTagName('input')[input].value
}
}
d.innerHTML += "<br /><input name='item[]' type='text'>";
for(input in document.getElementsByTagName('input'))
{
if (document.getElementsByTagName('input')[input].name == 'item[]' && value[input] !== undefined)
{
document.getElementsByTagName('input')[input].value = value[input]
}
}
value=Array()
for(input in document.getElementsByTagName('input'))
{
if (document.getElementsByTagName('input')[input].name == 'item[]')
{
value[input] = document.getElementsByTagName('input')[input].value
}
}
d.innerHTML += "<br /><input name='item[]' type='text'>";
for(input in document.getElementsByTagName('input'))
{
if (document.getElementsByTagName('input')[input].name == 'item[]' && value[input] !== undefined)
{
document.getElementsByTagName('input')[input].value = value[input]
}
}
Probeer hem eens zo? Tevens kleine opmerking, je moet je base input (die er standaard al staat) ook even item[] noemen ipv item (anders snapt dit jsje hem niet)
Als deze het ook niet doet zou ik toch een framework als jQuery gaan overwegen :)
Dat stomme ding werkt nog niet; heel raar.
Ik zoek nog even verder toch bedankt voor je hulp
Ik zoek nog even verder toch bedankt voor je hulp
Probleem verder opgepakt in PM voor maatoplossing, als die rond is hoop ik dat TS hem nog wel even post overigens ;)



