Internet Explorer kann dynamisch erzeugtes Formular nicht ansprechen...

FunkyMonkey

Mitglied
Hallo

vielleicht ist dies ein bekanntes Problem?

Ich erzeuge per JavaScript dynamisch ein Formular, welches ich anschließend auch per JavaScript ansprechen will:

Code:
	var fe = document.createElement("form");
	fe.style.visibility = "visible";
	fe.style.zIndex = "100";
	fe.style.position = "absolute";
	fe.style.top = "0px";
	fe.style.left = "0px";
	fe.style.display = "inline";
	fe.setAttribute("name","myForm");
	fe.setAttribute("action","http://irgendeineseite.de/script.php");
	fe.setAttribute("method","post");

	var ie = document.createElement("input");
	ie.setAttribute("type","text");
	ie.setAttribute("id","FooBar");
	ie.setAttribute("name","data");
	ie.style.visibility = "visible";
	ie.style.zIndex = "100";
	ie.style.fontSize = "10px";
	ie.style.display = "inline";
	ie.style.position = "absolute";
	ie.style.top = "0px";
	ie.style.left = "0px";
	
	fe.appendChild(ie);
	
	document.body.appendChild(fe);

Das Formular sehe ich, es ist da!

Mit der folgenden Test-Funktion prüfe ich, ob das Formular vorhanden ist, und versuche es testweise automatisch zu submitten (abschicken):

Code:
function checkForm() {
	if(document.forms["myForm"]) {
		alert("yippee! Formular gefunden!!");
		document.forms["protocolDataForm"].submit();
	} else {
		alert('formular nicht gefunden!');
	}
}

wenn ich die Funktion dann auslöse, erhalte ich immer ein "formular nicht gefunden"...

Im Firefox klappt das Problemlos, aber der MSIE 6.0 zickt rum.
Interessant: wenn ich das Formular "hart gecodet" in den Quelltext einbaue, funktioniert es prima! (?)

thx
FunkyMonkey
 
Zuletzt bearbeitet:
Hi,

der IE hat mit createElement so seine Eigenarten. Versuch es mal so:
Code:
var fe = (document.all && !window.opera)? document.createElement("<form name=\"myForm\"></form>") : document.createElement("form");
Sieht eigentümlich aus, ist aber korrekt - siehe MSDN, zweites Beispiel.

Ciao
Quaese
 

Neue Beiträge

Zurück