Ajax form et attribut action
Bonjour,
J'ai un problème que je n'arrive pas à résoudre. Je dois récupérer l'action dans un form, le réécrire puis soumettre le formulaire en ajax.
Actuellement j'ai plusieurs pistes :
Methode 1
Code:
1 2 3 4 5 6 7 8 9 10 11
| $(".btnmain").click(function(){
$('form').attr("action", function(){
this.action = $('form').attr('action');
this.action = this.action.replace(/\/$/, "");
this.action = this.action.replace("fobb/", "");
this.action = this.action.replace(".php", "");
});
//return false;
}); |
Le comportement fonctionne mais l'ajax n'est pas implémenté.
Methode 2
Mais ceci ne marche pas -> (ajax non lançé)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| $(".btnmain").click(function(){
$('form').attr("action", function(){
this.action = $('form').attr('action');
this.action = this.action.replace(/\/$/, "");
this.action = this.action.replace("fobb/", "");
this.action = this.action.replace(".php", "");
$.post(this.action ,$('form').serialize(), function(data){
$('#layout').html(data);
});
});
return false;
}); |
Methode 3
ou encore, sans succes (ajax lançé mais le php retourne de mauvais résultat) :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| $(".btnmain").click(function(){
var myaction = $('form').attr('action');
myaction = myaction.replace(/\/$/, "");
myaction = myaction.replace("fobb/", "");
myaction = myaction.replace(".php", "");
$.post(myaction,$('form').serialize(), function(data){
$('#layout').html(data);
});
return false;
});
}); |
Comment pourrais je fusionner la Méthode 1 et la méthode 3 ?