IE: 2 Aktionen für Formular
Martin Müller
- html
<td align='center'><button type='submit' name='aktion' value='decodieren'>decodieren</button></td>
<td align='center'>Wert: <input name='wert' size='2' maxlength='2' value='1' /><br>
<button type='submit' name='aktion' value='codieren'>codieren</button></td>
Das klappt mit allen Browsern, außer dem IE. Der IE übergibt dann sowas, wie "&aktion=decodieren&wert=1&aktion=codieren" und die Aktion decodieren funzt nicht.
Wie kann man das Problem lösen?
MM
Hello out there!
Das klappt mit allen Browsern, außer dem IE. Der IE übergibt dann sowas, wie "&aktion=decodieren&wert=1&aktion=codieren"
Der Bug ist bekannt. Steht auch in http://de.selfhtml.org/html/formulare/formularbuttons.htm#modern
Wie kann man das Problem lösen?
input statt button verwenden.
See ya up the road,
Gunnar
TNX!
Das werde ich mal ausprobieren.
MM
echo $begrüßung;
<button type='submit' name='aktion' value='decodieren'>decodieren</button>
<button type='submit' name='aktion' value='codieren'>codieren</button>Das klappt mit allen Browsern, außer dem IE.
Wenn du mal unterschiedliche Werte für das value-Attribut und den vom Button anzuzeigenden Inhalt verwendest, siehst du noch einen zweiten Fehler. Der IE überträgt nicht den "value"-Wert sondern den Inhalt.
Wie kann man das Problem lösen?
Ein Workaround verwendet Javascript um erst zum Klick-Zeitpunkt name und value zuzuweisen.
<button type="submit" onclick="name='name';value='value'">...</button>
echo "$verabschiedung $name";
Wenn du mal unterschiedliche Werte für das value-Attribut und den vom Button anzuzeigenden Inhalt verwendest, siehst du noch einen zweiten Fehler. Der IE überträgt nicht den "value"-Wert sondern den Inhalt.
Das ist der Grund, warum ich da die gleichen Werte verwende.
MM
echo $begrüßung;
Wenn du mal unterschiedliche Werte für das value-Attribut und den vom Button anzuzeigenden Inhalt verwendest, siehst du noch einen zweiten Fehler. Der IE überträgt nicht den "value"-Wert sondern den Inhalt.
Das ist der Grund, warum ich da die gleichen Werte verwende.
Naja... in dem Fall verzichtest du auf den entscheidenden Vorteil und Haupt-Einsatzweck von <button> gegenüber <input type=button>. Der Sinn ist ja, dass man als Beschriftung quasi alles Mögliche an HTML-Code angeben kann. Doch diesen ganzen Kladderadatsch will man andererseits nicht im value stehen haben. Wenn du die Gestaltungsmöglichkeiten nicht benötigst, kannst du ruhig auf den Einsatz (und die IE-Fehler) von <button> verzichten.
echo "$verabschiedung $name";