Baba: Was verhindert hier das Absenden?

http://jqueryui.com/dialog/#modal-form

Was verhindert hier das Absenden des Formulars, wenn man in einem der Inputfelder Enter drückt? Ich möchte nicht wissen, wie man das macht. Das dachte ich zu wissen, nur sehe ich diesen Codeschnipsel hier nicht.

Cheers,
Baba

  1. Hallo,

    Was verhindert hier das Absenden des Formulars, wenn man in einem der Inputfelder Enter drückt? Ich möchte nicht wissen, wie man das macht. Das dachte ich zu wissen, nur sehe ich diesen Codeschnipsel hier nicht.

    Soweit ich das sehe, befindet sich kein Button in dem Formular, der auf das Enter-Drücken reagieren könnte. Die beiden Buttons sind ausserhalb des Formulars mit den Input-Feldern.

    Viele Grüße,
    Jrg

  2. Hallo,

    das hat mit JavaScript oder jQuery UI m.W. nichts zu tun. Zuerst einmal hat das Formular kein action-Attribut. Hinzu kommt, dass ein Passwortfeld und kein Submitbutton vorhanden sind. In dem Fall wird das Formular nicht abgesendet.

    Im HTML5-Standard gibt es einen Abschnitt zu Implicit form submission. Beim Drücken von Enter wird der Default-Button aktiviert, der hier fehlt.

    Allerdings wird <input type="text"> dort als »field that blocks implicit submission« angegeben. Das scheinen die Browser so nicht zu implementieren; ein Formular mit <form action=""><input type="text"></form> ist mit einem Enter absendbar.

    Grüße,
    Mathias

    1. Vielen Dank euch zwei.

      das hat mit JavaScript oder jQuery UI m.W. nichts zu tun. Zuerst einmal hat das Formular kein action-Attribut. Hinzu kommt, dass ein Passwortfeld und kein Submitbutton vorhanden sind. In dem Fall wird das Formular nicht abgesendet.

      Die Frage trat auf, als ich so einen Dialog verwendete und bei *mir* hat er das Formular auf Enter gesendet. Und ich hatte auch kein Action und keinen Submitbutton. Ich konnte es nur damit lösen:

      $('form#custom_scenario_name').submit(function(event){event.preventDefault();});

      Wie gesagt, der Html Teil ist identisch: kein action-Attribut, und die buttons liegen ausserhalb der Form (wie auch im verlinkten Beispiel). Submitbuttons sind nicht vorhanden. Ich muss mal forschen, *was* bei mir den Submit auslöst... Eventuell eine andere jquery version?!?

      Cheers,
      Baba

      1. Hallo,

        Falls kein Password-Feld existiert, ist klar, warum das Formular abgesendet wird.

        Wie gesagt, der Html Teil ist identisch: kein action-Attribut, und die buttons liegen ausserhalb der Form (wie auch im verlinkten Beispiel).

        Wenn kein action-Attribut existiert, wohin sendet der Browser das Formular ab…?

        Submitbuttons sind nicht vorhanden. Ich muss mal forschen, *was* bei mir den Submit auslöst... Eventuell eine andere jquery version?!?

        Wie gesagt, das hat nicht unbedingt etwas mit JavaScript und jQuery zu tun. In jQuery UI Dialog existiert zwar ein keydown-Handler, darin wird aber nur Tab und Escape behandelt.

        Mathias

        1. Falls kein Password-Feld existiert, ist klar, warum das Formular abgesendet wird.

          Wissen macht: Aaaahh. Das hatte ich nicht als Bedingung aufgefasst. Vielen Dank!

          Wenn kein action-Attribut existiert, wohin sendet der Browser das Formular ab…?

          an die momentane Seite + Formulardaten als GET
          index.php?name=xaoping

          Cheers,
          Baba