2012-07-28 9 views
5

Wenn Sie ein Formular in einer neueren Browserversion senden, die HTML5-Markup unterstützt und Ihr Formular input type="email" mit ungültiger E-Mail-Adresse hat, wird das Formular nicht gesendet, was gut ist. Außerdem erhalten Sie einen Blasenalarm, der "Please enter an email address"HTML 5 Browser-Popup bei Eingabe mit type = "email"

A einfache DEMO here sagt.

Nun, das ist in einem Punkt schön. In der Demo sehen Sie, dass das Pop-up meinen definierten Fehler verbirgt. Gibt es eine Möglichkeit zu verhindern, dass die Blase erscheint? oder kann ich den Stil der Blase übersteuern?

Antwort

10

Sie können die Build-in Browser stoppen Validierung mit dem Attribut novalidate:

var element = [selector that selects the input field]; 
element.setCustomValidity('This is not a valid e-mail'); 
:

<form action="" novalidate></form> 

oder Sie den Inhalt des Overlay mit diesem JavaScript-Eigenschaft und Ihre eigene Fehlermeldung ändern

Aber ich denke, Sie können dieses Browser-Element nicht selbst gestalten.

+0

'e.preventDefault' wird auch funktionieren. Vielen Dank – Bob