Hallo,
bleiben wir bei diesem Code von gestern Abend:
Linkbeschreibung
$result = [
'errors' => [
['name' => 'feld1', 'messages' => ['meldung11', 'meldung12']],
['name' => 'feld2', 'messages' => ['meldung21', 'meldung22']],
],
'anderes_zeug' => ...
];
echo json_encode($result);
Ich verstehe z.B. schon mal nicht, was du mit den ganzen Felder meinst, Warum muss das alles so kompliziert und umständlich sein und wie könnte ich diese mit meinem Beispiel füllen?
Warum reicht es nicht einfach so
if($_POST['ansprechpartner'] == ''){exit ("ctrl_20");}
if($_POST['email'] == ''){exit ("ctrl_21");}
if($_POST['nachricht'] == ''){exit ("ctrl_25");}
Dann kommen wir zu deinem JS Code
$.ajax({
type: "POST",
url: "senden.php",
data: { ... },
dataType: 'json',
}).done(function (result) {
console.log('alles auf einmal:');
console.log(result);
console.log('die fehler einzeln:');
result.errors.forEach(function (item) {
console.log(item.name);
item.messages.forEach(function (message) {
console.log(message);
});
});
}).fail(function (xhr, status, error) {
// was auch immer
console.log(status);
console.log(error);
});
Bei deinem data: { ... }, kommt wahrscheinlich mein var data = form.serialize(); also in diesem Fall data: data, den Rest von deinem Code verstehe ich nicht und schon gar nicht verstehe ich, wie ich diesen in meinen Code intergrieren soll
$("#form_index").submit(function() {
var form = $('#form_index');
var data = form.serialize();
$("#submit").attr("disabled","disabled");
$.post('senden.php', data, function(msg) {
if(msg == "success"){
$("#form_index").addClass( "ausblenden");
$('#ctrl_20').val('');
$('#ctrl_20').css({"border": "none"});
$('#ctrl_21').val('');
$('#ctrl_21').css({"border": "none"});
$('#ctrl_22').val('');
$('#ctrl_23').val('');
$('#ctrl_25').val('');
$('#ctrl_25').css({"border": "none"});
$("#response").html('<img src="accept.gif">Danke!');
$(".hinweis").addClass( "ausblenden");
setTimeout(function(){
$("#form_index").removeClass( "ausblenden");
$(".hinweis").removeClass( "ausblenden");
$("#response").html("");
}, 3000);
} else {
$("#" + msg).css({"border": "#F00 1px solid"});
}
});
return false;
});