So habe ich eine email Funktion, die ich mit $ .ajax abschließen möchte und ich verwende 3 verschiedene Formen. Auch die Formulare werden mit einer $ .ajax Anfrage geladen und wenn ein Benutzer auf einen Knopf klickt, verschwindet ein Formular und ein neues Formular erscheint. so das Problem ist, dass ich die Daten von den 3 Formen gleichzeitig zur php Seite senden muss, also muss es nur eine eMail senden.
JQuery-Code:
//load first form
$(".volgende").click(function(){
$("#form-1").slideToggle("slow" , function(){
//first form will dissapear and second form will apear
$.ajax({
url: "include/stap-2.php",
success:function(result){
$(".form>.container").hide().html(result).slideToggle();
}
});
//get form data when button is clicked
var formData1 = {
'strnaam' : $("#strnaam").val(),
'postc' : $("#postc").val(),
'plaats' : $("#plaats").val(),
'woning' : $("#woning").val(),
'leefom' : $("#leefom").val()
};
$(document).ajaxComplete(function() {
$(".stap-1").removeClass("stap-active");
$(".stap-2").addClass("stap-active");
$(".next-step").removeClass("volgende");
$(".next-step").addClass("volgende-2");
});
});
//when the second button is clicked
$(".volgende-2").click(function(){
//second form dissapear and third form apear
$("#form-2").slideToggle("slow", function(){
$.ajax({
url: "include/stap-3.php",
success:function(result){
$(".form>.container").hide().html(result).slideToggle();
}
});
// second form data stored
var formData2 = {
'vraagprijs' : $("#vraagprijs").val(),
'woz' : $("#woz").val(),
'biedingen' : $("#biedingen").val(),
'uiterste' : $("#uiterste").val(),
'interieur' : $("#interieur").val(),
'exterieur' : $("#exterieur").val()
};
$(document).ajaxComplete(function(){
$(".stap-2").removeClass("stap-active");
$(".stap-3").addClass("stap-active");
$(".next-step").removeClass("volgende-2");
$(".next-step").addClass("verzenden");
$(".verzenden", this).text("Verzenden");
$(".verzenden", this).prop("type", "submit");
//alert(JSON.stringify(formData2, null, 4));
});
});
});
//submit function on the third form
$(".verzenden").click(function(event){
//get form data from the third form
var formData = {
'postc' : $('#postc').val(),
'naam' : $('#naam').val(),
'telnr' : $('#telnr').val(),
'email' : $('#email').val(),
};
$.ajax({
type : 'POST',
url :"include/email-verwerk.php",
data :formData, // send info from third form
dataType :"html",
encode : true,
success : function(){
$("form").hide();
$(".verzenden").hide();
$(".form>.container").hide().html("<div class='alert alert-success'><strong>Bedankt,</strong><br><p>Je bericht is succesvol verstuurd we doen ons best om binnen twee dagen te antwoorden.<br>voor dringende vragen kunt u ons bereiken op <span><strong>+31 645 96 22 02</strong></span></p></div>").slideToggle();
},
error: function(){
$("form").hide();
alert("fout");
}
});
event.preventDefault();
});
});
so, wenn $ (‚Verzenden‘) angeklickt wird nur die dritte Form der PHP-Seite einreichen ist es eine Möglichkeit, die Daten aus der ersten und der zweiten Form schließen Damit die php-Seiten ihre Daten erhalten, wird nur eine vollständige E-Mail gesendet.
Sie kann ein einzelnes Formular anstelle von drei verwenden. Teilen Formelemente in drei Teile erste Schaltfläche klicken erste Teil ausblenden zweite Schaltfläche klicken zweite ausblenden ausblenden Schaltfläche Formular senden. –
das wird mir nur aus irgendeinem Grund den Wert des ersten Formulars geben –