xorg1990
New member
Hi, ich wollte mir mal die HTML5 Formular Validierung zu nutze machen, stoße da aber auf ein paar Probleme.
Das Problem besteht darin das die Validierung nur durch ein Submit getriggert wird, ein Butten von Type butten löst keine Validierung aus.
Wiederum führt der submit Befehl ein page reload aus das darf aber nicht passieren, da ich die Formulare über JQuery ein und ausblende.
Die Idee mit jquery .serialize() stammt von stackoverflow
javascript - Submit form without reloading page - Stack Overflow
Funktioniert aber nicht, Seite wird Trotzdem neu geladen.
Auch komisch ist, dass die Daten schon gesendet werden obwohl die Validierung noch gar nicht abgeschlossen ist nur durch
konnte ich mir helfen.
Gibt es den keine Möglichkeit die HTML5 Form Validierung zu nutzen ohne das sich die Seite neu lädt?
Das Problem besteht darin das die Validierung nur durch ein Submit getriggert wird, ein Butten von Type butten löst keine Validierung aus.
Wiederum führt der submit Befehl ein page reload aus das darf aber nicht passieren, da ich die Formulare über JQuery ein und ausblende.
Code:
$('#ChangeMailBtn').click(function(){
if(document.getElementById("#changeMail").checkValidity()===true){
$.ajax({
type: "POST",
url: "/changeMail",
data: $("#changeMail").serialize(),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(response) {
alert(response.success);
}
});
return false;
}else{
return false;
}
});
HTML:
<form action="" id="changeMail" style='margin-left:40%; display: none;'>
<p style="margin: 0, auto;">Please enter your new Email Address:<br>
<input name="mail" type="email" placeholder="name@example.com" pattern="[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$" value="" required/><br>
</p>
<p>
repeat E-Mail: <br>
<input name="mail2" type="email" placeholder="name@example.com" pattern="[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$" value="" required/><br>
</p>
<input id="ChangeMailBtn" type='submit' style='background:red;width:145px;' value="change E-Mail" />
</form>
Die Idee mit jquery .serialize() stammt von stackoverflow
javascript - Submit form without reloading page - Stack Overflow
Funktioniert aber nicht, Seite wird Trotzdem neu geladen.
Auch komisch ist, dass die Daten schon gesendet werden obwohl die Validierung noch gar nicht abgeschlossen ist nur durch
if(document.getElementById("#changeMail").checkValidity()===true){
konnte ich mir helfen.
Gibt es den keine Möglichkeit die HTML5 Form Validierung zu nutzen ohne das sich die Seite neu lädt?