Hallo,
<form name="test">
<input type="image" name="testinput" src="pussy" />
</form><script language="javascript" type="text/javascript">
alert(document.test.testinput);
alert(document.forms['test'].testinput);
</script>nichts davon geht. immer undefined. nehme ich allerdings ein type="input" oder type="text", geht es ??
Ja, das ist wohl so. Ein INPUT.type="image" ist in keinem Browser in der HTMLCollection elements zu finden. Ich würde darin einen Fehler der Browser-DOM-Implementation sehen.
Allerdings braucht man Deine komplizierte Funktion nun auch wieder nicht:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Titel</title>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
</head>
<body>
<form action="#" name="test">
<p><input type="text" name="t1" value="Test" size="10" maxlength="10"></p>
<p><input type="submit" name="ok" value="OK"></p>
<p><input type="image" name="testinput" src="pussy" alt="Katze" title=""></p>
</form>
<script type="text/javascript">
for (var i=0; i<document.forms["test"].elements.length; i++)
document.write(document.forms["test"].elements[i].type + " " +document.forms["test"].elements[i].name + "<br>")
//ein INPUT.type="image" ist in keinem Browser in der HTMLCollection elements zu finden:
alert(document.forms["test"].elements["testinput"]);
//aber so kann man es erreichen:
alert(document.forms["test"].getElementsByTagName("INPUT")["testinput"].name);
</script>
</body>
</html>
viele Grüße
Axel