Moin,
ich muss gezwungenermaßen mit jQuery beschäftigen, da manche Features immer beliebter werden wie z.B. ein Formular abzuschicken ohne die Seite komplett neu zu laden. Ich persönlich finde dieses zwar totaler qatsch aber ok.
Daher bin ich noch ganz am Anfang und bin für jeden Hinweis dankbar.
Mein Formular schicke ich über diesen Code ab
$("#form_index").submit(function() {
if($("#ctrl_20").val() == "" || $("#ctrl_21").val() == "" || $("#ctrl_22").val() == "" || $("#ctrl_25").val() == "") {
$("#response").html("Bitte fülle alle Felder ausm die mit einem * versehen sind!");
} else {
$("#submit").attr("disabled","disabled");
$.ajax({
type: "POST",
url: "senden.php",
data: "ctrl_20=" + $("#ctrl_20").val() + "&ctrl_21=" + $("#ctrl_21").val() + "&ctrl_22=" + $("#ctrl_22").val() + "&ctrl_23=" + $("#ctrl_23").val() + "&ctrl_25=" + $("#ctrl_25").val(),
success: function(msg)
{
$("#form_index").addClass( "ausblenden");
$('#ctrl_20').val('');
$('#ctrl_21').val('');
$('#ctrl_22').val('');
$('#ctrl_23').val('');
$('#ctrl_25').val('');
$("#response").html(msg);
}
});
}
return false;
});
In meiner senden.php habe ich einfach ein
echo "Alles OK";
stehen. Diese erhalte ich auch nach dem abschicken. Scheint also alles zu klappen.
Mein HTML Formular hat ein paar Felder und die Pflichtfelder ein required. Zusätzlich prüfe ich im jQuery Teil ob bestimmte Felder gefüllt sind. Soweit klappt auch alles.
Meine Fragen:
- Reicht diese Prüfung oder benötige ich noch weitere Prüfungen mit PHP?
eine PHP Prüfung in der senden.php könnte so aussehen
if(empty($_POST['ctrl_25'])){
$fehler[] = "Wollen Sie uns nichts sagen?";
}
Um mein echo dann diesen Code
if(isset($_POST['abschicken']) && empty($fehler)) {
}
Nutze ich auch an anderen Stellen. Nur die Frage, wie bekommt mein jQuery davon etwas mit ich benötige ja eine weitere Ausgabe, dass der User weiß, dass hier etwas nicht stimmt?
-
Nach dem abschicken blende ich mein Formular aus, setzte den Button auf disabled und leere mit $('#ctrl_20').val(''); meine Felder. Ist es benutzerfreundlich das Formular komplett auszublenden oder lieber stehen lassen?
-
Wäre es möglich mein Formular, welches ich mit $("#form_index").addClass( "ausblenden"); ausgeblendet habe nach sagen wir mal 5 Sekunden wieder einzublenden? Und dafür die $("#response").html(msg); auszublenden?
Bevor jetzt gleich eine Diskussion aufkommt warum ich Bezeichnungen wie ctrl_20 nutzte, diese sind nur zum Testen vorhanden.