Unterschiedliches Verhalten von Formularen
feddi
- html
Hallo zusammen,
Ich habe festgestellt, dass sich Formulare unterschiedlich verhalten, je nachdem ob ich input type="submit" oder "image" verwende.
Mir ist bekannt, dass ich die Daten bei type="image" via PHP mit "name_x" und "name_y" abfragen muss anstatt mit nur mit "name". Allerdings ist es mir nicht so ganz klar, wo der Unterschied bei der Übermittlung der beiden Varianten liegt.
Bei input type="image" kann ich nicht via Eingabetaste die Forumlardaten übermitteln. Die Seite lädt zwar neu, jedoch werden die getätigten Eingaben ignoriert. Es geht lediglich, wenn man mit der Mouse auf den Absendebutton drückt.
Verwende ich stattdessen input type="submit" mit dem gleichen Formularaufbau, werden die Daten per Eingabetaste verarbeitet.
Woran liegt das?
Viele Grüße
Feddi
Hi feddi!
Verwende ich stattdessen input type="submit" mit dem gleichen Formularaufbau, werden die Daten per Eingabetaste verarbeitet.
Woran liegt das?
Vermutlich an der Überprüfung im verarbeitenden Skript, ob das Formular abgesendet wurde.
MfG H☼psel
Vermutlich an der Überprüfung im verarbeitenden Skript, ob das Formular abgesendet wurde.
MfG H☼psel
Dies tätige ich eigentlich immer auf folgende Weise:
PHP:
if($_POST['name_x'] && $_POST['name_y')
{
...
}
Hi feddi!
Vermutlich an der Überprüfung im verarbeitenden Skript, ob das Formular abgesendet wurde.
Dies tätige ich eigentlich immer auf folgende Weise:
Irgendwie glaube ich das nicht. Dann wäre das Verhalten nämlich umgekehrt: Formulare mit Image-Button würden verarbeitet und Formulare mit Submit-Button nicht.
Du kannst übrigens auch einem Submit-Button mit CSS ein Hintergrundbild geben.
MfG H☼psel
Hi,
Bei input type="image" kann ich nicht via Eingabetaste die Forumlardaten übermitteln. Die Seite lädt zwar neu, jedoch werden die getätigten Eingaben ignoriert.
Dann werden sie *von* *dir* in deinem Script ignoriert.
Verwende print_r/var_dump, um dir anzuschauen, was in den einzelnen Fällen wirklich in $_POST/$_GET drin steht.
MfG ChrisB
Hi!
Verwende print_r/var_dump, um dir anzuschauen, was in den einzelnen Fällen wirklich in $_POST/$_GET drin steht.
Außerdem muss man die unterschiedlichen Verhaltensweisen der Browser beachten. Einige senden zu den name_x/y auch noch ein zusätzliches name mit, andere nicht.
Lo!
hi,
Woran liegt das?
Das kriegst Du ganz einfach raus, indem Du das Formular auf method="GET" stellst (default) und Dir den erzeugten URI in der Adresszeile anschaust.
Viele Grüße,
Horst Haselhuhn