Ihre Frage ist ein wenig verwirrend, also werde ich versuchen, die beiden Möglichkeiten, ein Formular zu senden, anhand von Beispielen zu erklären.
Im ersten Beispiel ist die Form:
Validate durch die Funktion
validate()
durch die Funktion
$("#myform").submit()
$('#press').on('click', function(e){
\t \t e.preventDefault();
var val = validate();
if(val == true){
var r = confirm("Submit form!")
var txt;
if (r == true) {
txt = "You pressed OK!";
//$("#myform").submit(); //use this for submitting the form
} else {
txt = "You pressed Cancel!";
}
alert(txt); //this line of code for test reasons
}
else{
alert("input fields empty");
}
});
function validate(){
var val = true;
var teste1 = $("#input1").val();
var teste2 = $("#input2").val();
if(teste1== "" || teste1 == null){
var val = false;
//some css and jquery to change the input color
}
if(teste2 == "" || teste2 == null){
var val = false;
//some css and jquery to change the input color
}
return val;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id = "myform" action="test.php" method="post">
<input type = "text" id ="input1" value = "">
<input type = "text" id ="input2" value = "">
<button id = "press" type="button">Click Me!</button>
</form>
Submitted
Diese Art der Übermittlung aktualisiert die Seite. Damit die Seite nicht aktualisiert wird, müssen Sie Ajax verwenden. In Ihrer Trigger-Funktion müssen Sie $("#myform").submit();
ersetzen.
var teste1 = $("#input1").val();
var teste2 = $("#input2").val();
$.ajax({
method: "POST",
url: "test.php",
datatype:"Json",
data:{
"data1": teste1,
"data2": teste2
},
success: function(result){
alert("result");
}
});
Auf diese Weise senden Sie die Daten in einem JSON-Array. Auf diese Weise können Sie Server-Feedback über die Erfolgsfunktion erhalten.
http://stackoverflow.com/questions/374644/how-do-i-capture-response-of-form-submit –
Afaik ist es wirklich Ereignis absenden. Die jquery-Validierung verhindert einfach das Übergeben des Ereignisses, wenn die Validierung fehlschlägt (z. B. mit return false). – yezzz
Die Frage scheint auf einer falschen Prämisse zu beruhen. Das Formularübergabeereignis sollte den jQuery-Überprüfungscode aufrufen. Der Validierungscode kann dann 'false' zurückgeben oder' event.preventDefault() 'aufrufen, wenn verhindert werden soll, dass das Formular gesendet wird. – Barmar