Hallo!
Mir ist eben aufgefallen, dass, wenn ein Formular über einen Button mit type="image" abgesendet wird, das name-Attribut für die POST-Daten beim Internet Explorer nicht berücksichtigt wird.
Folgendes Test-Script in PHP (wobei abc.png ein Bild sein sollte):
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Vergiss den IE-Test</title>
</head>
<body>
<?php if (!isset($_GET['action'])) { ?>
<form action="?action=abc" method="post">
<fieldset>
<legend>Formular</legend>
<input type="image" src="abc.png" name="key" value="klick mich :-)"/>
</fieldset>
</form>
<?php } else {
if (isset($_POST['key'])) {
echo '<p>Gesetzt: '.htmlspecialchars($_POST['key']).'</p>';
} else {
echo '<p>Nicht gesetzt.</p>';
}
} ?>
</body>
</html>
Ausgabe beim Firefox 3: "Gesetzt: klick mich :-)"
Ausgabe beim Internet Explorer 7: "Nicht gesetzt."
Habe ich einen Fehler gemacht, bzw. kann ich diesen (vermutlichen) Bug beim IE "ausgleichen"?
Oder bin ich darauf angewiesen, type="image" nicht in dieser Form nutzen zu können?
Gruß,
pcworld