dynamisch formulare per javascript erzeugen
Maik
- javascript
hallo
ich erzeuge innerhalb eines formulars ein input feld welches ich später x beliebig ansprechen möchte:
var ifeld = document.createElement("input");
ifeld.type = 'text';
ifeld.value= '';
ifeld.name = 'vname['+counter+']';
ifeld.size = 20;
ifeld.maxlength = 50;
spreche ich das feld z.b. so an passiert leider nichts :-( keine fehler od.ä
document.myform['vname[0]'] = 'text';
wie kann ich das lösen?
gruß Maik
Tag Maik.
ich erzeuge innerhalb eines formulars ein input feld welches ich später x beliebig ansprechen möchte: [...] spreche ich das feld z.b. so an passiert leider nichts :-( keine fehler od.ä: document.myform['vname[0]'] = 'text';
http://de.selfhtml.org/javascript/objekte/elements.htm#allgemeines, Beispiel 3
Siechfred
Hallo
link:http://de.selfhtml.org/javascript/objekte/elements.htm#allgemeines], Beispiel 3
ok, document.myform['vname[0]'].value = 'text';
der IE meldet: kein objekt oder null, firefox kapiert das.
gruß Maik
Tag Maik.
http://de.selfhtml.org/javascript/objekte/elements.htm#allgemeines, Beispiel 3
hallo, das versteht kein browser, was mach ich falsch?
<script language="JavaScript">
function test(elem) {
var fx = document.getElementById(elem);
for(i=0;i<3;i++) {
var aElem = document.createElement("input");
aElem.name = 'checkup['+ i +']';
aElem.value='Num'+ i;
fx.appendChild(aElem);
bElem = document.createElement("a");
bElem.innerHTML = 'click: '+ i;
bElem.href = 'javascript:;';
bElem.id = 'id'+i;
bElem.onclick = function() {
document.myform.elements["checkup["+ this.id.substr(2)+"]"].value = this.id;
}
fx.appendChild(bElem);
}
}
//-->
</script>
<form action="#" method="post" target="_self" name="myform">
<div id="mask">
</div>
</form>
<a href="javascript:;" onClick="test('mask');">add form elements</a>
gruß Maik
Tag Maik.
http://de.selfhtml.org/javascript/objekte/elements.htm#allgemeines, Beispiel 3
hallo, das versteht kein browser, was mach ich falsch?
Was sagt die JS-Konsole, was der DOM-Inspector?
Siechfred
Tag Maik.
Was sagt die JS-Konsole, was der DOM-Inspector?
Firefox: document.myform.elements["checkup[" + i + "]"] has no properties
IE: kein objekt oder null
Siechfred
und nu?
Gruß Maik
hallo, das versteht kein browser, was mach ich falsch?
Firefox schon, aber der IE hat damit Probleme, warum konnte ich jetzt auch nicht rausfinden. Das Element läßt sich nicht über elements[name] ansprechen (über den Index schon, die Elemente sind ale vorhanden).
<script language="JavaScript">
language ist veraltet type ist notwendig.
<script type="text/javascript">
und es gibt einen Workaround:
function test(elem) {
var fx = document.getElementById(elem);
for(i=0;i<3;i++) {var aElem = document.createElement("input");
aElem.name = 'checkup['+ i +']';
aElem.value='Num'+ i;
fx.appendChild(aElem);bElem = document.createElement("a");
bElem.fElem = aElem;
bElem.innerHTML = 'click: '+ i;
bElem.href = '#';
bElem.id = 'id'+i;
bElem.onclick = function() {
document.myform.elements["checkup["+ this.id.substr(2)+"]"].value = this.id;
stattdessen dann:
this.fElem.value = this.id;
return false;
}
fx.appendChild(bElem);
}
}
//-->
</script>
Struppi.