input attribut
Peeters
- html
Hallo,
ich hab ein kleines Problem mit dem Ereignis <input>. Ich habe mir ein kleines Formular gebaut und zuerst hatte ich eine einfachen Butten welche die Aktion vom Formular ausführt:
<input id="submitdetails1" name="submitdetails1" type="submit" value="Speichern">
Nun wollte wollte ich den Button grafisch aufwerten:
<input id="submitdetails1" name="submitdetails1" type="image" value="Speichern" src="./img/button.jpg">
nur leider verhält sich der Grafik-Button nicht mehr so wie er sich beim type=submit verhalten soll, die eingegeben Daten werden nicht weiter an das Formular übergeben. Kann mir jemand sagen warum das so ist?
Grüße
Hi,
ich hab ein kleines Problem mit dem Ereignis <input>.
Von was für einem „Ereignis“ redest du?
nur leider verhält sich der Grafik-Button nicht mehr so wie er sich beim type=submit verhalten soll, die eingegeben Daten werden nicht weiter an das Formular übergeben. Kann mir jemand sagen warum das so ist?
Weil du vermutlich den IE als Testbrowser benutzt.
Dessen fehlerhafter Umgang mit <input type=image> ist seit Ewigkeiten bekannt, also recherchiere bitte.
MfG ChrisB
Hi,
Weil du vermutlich den IE als Testbrowser benutzt.
Dessen fehlerhafter Umgang mit <input type=image> ist seit Ewigkeiten bekannt, also recherchiere bitte.
wo genau liegt der Fehler darin, auf Optionales zu verzichten? Mal abgesehen davon, dass es äußerst unpraktisch ist: Falsch ist es nicht, was der IE hier macht.
Cheatah
Hi,
wo genau liegt der Fehler darin, auf Optionales zu verzichten? Mal abgesehen davon, dass es äußerst unpraktisch ist: Falsch ist es nicht, was der IE hier macht.
Es ist m.E. eine Auslegungsfrage, wie man die Spezifikation hier interpretiert, da nicht eindeutig genug.
MfG ChrisB
Hi,
wo genau liegt der Fehler darin, auf Optionales zu verzichten? Mal abgesehen davon, dass es äußerst unpraktisch ist: Falsch ist es nicht, was der IE hier macht.
Ist es optional?
http://www.w3.org/TR/html4/interact/forms.html#h-17.13.2 sagt:
Every successful control has its control name paired with its current value as part of the submitted form data set.
[...]
If a form contains more than one submit button, only the activated submit button is successful.
Der geklickte submit-Button ist "successful". Von jedem "successful control" wird das name-value-Paar übertragen.
http://www.w3.org/TR/html4/interact/forms.html#h-17.4.1 sagt:
The control type defined by the INPUT element depends on the value of the type attribute:
[...]
image
Creates a graphical submit button.
<input type="image"> ist also ein submit-Button, also gilt das unter 17.13.2 gesagte zum Thema submit button.
Weiter heißt es dort:
When a pointing device is used to click on the image, the form is submitted and the click coordinates passed to the server.
Da steht nichts dabei, daß in diesem Fall das name-value-Paar nicht gesendet wird.
M.E. ist das Verhalten des IE falsch, da es gegen 17.13.2 verstößt.
cu,
Andreas
Hi,
M.E. ist das Verhalten des IE falsch, da es gegen 17.13.2 verstößt.
das sehe ich anders, weil ich in 17.4.1 eine Ersetzung der Regelung aus 17.13.2 sehe. Sonderregel schlägt allgemeine Regel.
Cheatah
Hi,
M.E. ist das Verhalten des IE falsch, da es gegen 17.13.2 verstößt.
das sehe ich anders, weil ich in 17.4.1 eine Ersetzung der Regelung aus 17.13.2 sehe. Sonderregel schlägt allgemeine Regel.
Wie gesagt, das kann man so oder so sehen - ich interpretiere es auch wie Andreas.
„When a pointing device is used to click on the image, the form is submitted and the click coordinates passed to the server.”
Wenn man nur den Teil vor dem „and” betrachtet - dann muss dafür schon mal 17.13.2 gelten. Mit dem „and” kommt dann nur noch zusätzliches Verhalten hinzu.
Ausserdem bezieht sich das ausdrücklich nur auf den Fall, dass ein „pointing device“ benutzt wird. Für andere Arten der Aktivierung dieses controls muss dann ja sowieso das „normale“ Verhalten gelten. Und einen Ausschluss von diesem sehe ich in obigem auch nicht.
„Every successful control has its control name paired with its current value as part of the submitted form data set.”
Dass „current value“ beim type=image den Klick-Koordinaten entspräche, kann ich auch nirgendwo herauslesen.
„The submitted data includes name.x=x-value and name.y=y-value where "name" is the value of the name attribute, and x-value and y-value are the x and y coordinate values, respectively.“
Das „includes” lese ich ergänzend; eine das normale name=value-Paar explizit ausschließende Formulierung hätte m.E. eher eines „consists of” o.ä. bedurft.
MfG ChrisB
Gibt es den eine funktionierende alternative?
Hi,
Gibt es den eine funktionierende alternative?
Ja, unterschiedliche Namen für unterschiedliche Buttons; und dann abfragen, was ankommt.
MfG ChrisB
Hi,
ich hab ein kleines Problem mit dem Ereignis <input>.
Von was für einem „Ereignis“ redest du?
nur leider verhält sich der Grafik-Button nicht mehr so wie er sich beim type=submit verhalten soll, die eingegeben Daten werden nicht weiter an das Formular übergeben. Kann mir jemand sagen warum das so ist?
Weil du vermutlich den IE als Testbrowser benutzt.
Dessen fehlerhafter Umgang mit <input type=image> ist seit Ewigkeiten bekannt, also recherchiere bitte.
MfG ChrisB
Jetzt habe ich auch die Bemerkung verstanden:
"Bei grafischen Buttons wird nicht nur der eventuell vorhandene Wert im value Attribut übertragen, sondern zusätzlich auch die Koordinaten des Klicks auf das Bild. Das heißt es werden zwei zusätzlich Werte abgeschickt in der Form name.x und name.y (in PHP wird daraus name_x/name_y). Der IE sendet nur die Koordinaten."
Danke und sorry.
@@Peeters:
nuqneH
ich hab ein kleines Problem mit dem Ereignis <input>.
'input' ist weder Attribut noch Ereignis, sondern ein Element; siehe [Meiert]
(Huch, immer noch CSS Naked Day?)
Qapla'
Hast Du es mit dem IE getestet? In SelfHTML steht, dass der IE bei Grafischen-Buttons nur die Koordinaten des Klicks an den Server sendet.
http://de.selfhtml.org/html/formulare/formularbuttons.htm#grafische
Wenn der Server aber auf einen Wert 'Speichern' für $_POST['submitdetails1'] wartet, dann könnte es mit dem IE Probleme geben.