/ / Odoslanie Ajax formulára zo stránky načítanej Ajaxom - javascript, jquery, ajax, formuláre

Odoslanie formulára Ajax z Ajax Loaded Page - javascript, jquery, ajax, formuláre

Mám stránku vygenerovanú v rámci ajax.

Na tejto stránke sú 2 formuláre, # form1 a # form2.

Mám jQuery, kód na odoslanie formulára je nasledovný:

jQuery("#form1").on("submit", function(e){

e.preventDefault();

var sendurl = "/xxx/xxx/xxx/xxx.php";

var varable1 = jQuery("#infor1").val();
var varable2 = jQuery("#infor2").val();
var varable3 = jQuery("#infor3").val();
var varable4 = jQuery("#infor4").val();
var varable5 = jQuery("#infor5").val();
var varable6 = jQuery("#infor6").val();
var varable7 = jQuery("#infor7").val();

jQuery.ajax({url: sendurl + "?varable1=varable1" + "varable2=" + varable2 + "varable3=" + varable3 + "varable4=" + varable4 + "varable5=" + varable5 + "varable6=" + varable6 + "varable7=" + varable7}).done(function(data) {

if(data === "fail"){
jQuery(".error").html("Something went wrong with your form request please try again!").slideDown(500).delay(4000).slideUp(500);
jQuery("input[type=submit]", jQuery("#submittions")).removeAttr("disabled");
return false;
}

if(data !== "fail"){
jQuery("#showresults").slideUp(600);
jQuery(".show-complete-detail").html(data);
jQuery("#applicationcomplete").delay(1500).slideDown(400);
}

});
});

Tiež som vyskúšal:

jQuery().submit();

To tiež nefunguje.

Predpokladám, že pretože stránka je načítaná pomocou Ajaxu, nemôže nájsť formulár s ID formulára1?

Má niekto nejaké nápady, kam idem zle.

Vďaka :)

odpovede:

1 pre odpoveď č. 1

Pre dynamicky načítaný obsah použite delegovanie udalostí takto:

// replacing document with top level parent
// something like parent container
jQuery(document).on("submit","#form1", function(e){ ... }

A ešte jedna vec, údaje odovzdané z adresy ajax url sú zlým nápadom, na odosielanie údajov by ste mali použiť vlastnosti údajov, pozri príklad nižšie:

$.ajax({
type : "POST", // or GET
url : "your url here",
data : {
var1 : variable1
.......
},
.... Another properties...
}).done(data){...});

0 pre odpoveď č. 2

Delegujte udalosť na prvok DOM vyššej úrovne, ktorý nebol pridaný dynamicky.

tj)

$("#FormContainer").on("#form1", "submit",function(){
//   Do Form tuff....
});
$("#FormContainer").on("#form", "submit",function(){
//   Do Form tuff....
});

0 pre odpoveď č. 3

zviazať s dokumentom

jQuery(document).on("submit","#form1", function(e){


});

použite console.log na sendurl

console.log(sendurl)