Wie Sie verhindern, dass Formular während der Verwendung von HTML5, client-seitige Formular-Validierung in Opera 11?

Wie Sie verhindern, dass Formular während der Verwendung von HTML5, client-seitige Formular-Validierung in Opera 11?

Hier ist eine Beispiel-Seite Testseite:

HTML:

<section>
  <h2>Test</h2>
  <form>
    <input type="text" name="test" id="test" required/>
    <input type="submit" value="Test" />
  </form>
</section>

Validierung funktioniert in Opera 11, aber wenn der button angeklickt wird, nachdem Sie einen Wert eingeben, wird der browser das Formular absendet.

Ich soll den browser zu bleiben, auf der Webseite immer, das ist gut für die client-Seite-nur Skripte, die auf der lokalen Festplatte, wo es keine server, zum Beispiel.

Wenn ich return false; oder versuchen zu verhindern, dass die form von der Abgabe, die Validierung nicht mehr funktioniert.

Opera 11.10 Build 2092

EDIT:

Dank robertc Lösung, ich habe es funktioniert. Hier ist die Testseite ohne jQuery.

JS:

 (function() {
   "use strict";

   window.addEventListener("load", function() {
     document.getElementById("testForm").addEventListener("submit", function(event) {
       event.target.checkValidity();
       event.preventDefault(); //Prevent form submission and contact with server
       event.stopPropagation();
     }, false);
   }, false);
 }());

HTML:

<section>
  <h2>Test</h2>
  <form id="testForm">
    <input type="text" name="test" id="test" required/>
    <input type="submit" value="Test" />
  </form>
</section>

  • Ich denke, man sollte nicht schreiben required sondern required="required". Weiß nicht, ob dies die Ursache ist, obwohl.
  • Ich denke, dass required="required" ist für XHTML und HTML5 akzeptiert entweder eine (überprüft, wie gut). Ich habe gerade versucht mit der "required" - string, aber es ist kein Unterschied im Ergebnis.
InformationsquelleAutor XP1 | 2011-05-08
Schreibe einen Kommentar