J'ai oublié que j'ai changé mon gestionnaire ajax pour travailler avec IE et n'a pas changé la fonction ajax pour cette forme particulière, parce que doit être caché la réponse de cette forme, il utilise un autre gestionnaire ajax.
Ceci est ma principale fonction de soumission:
(function($){
jQuery.fn.ajaxFormSubmit =
function(container, data) {
var url = $(this).attr('action');
$.ajax({
url: url,
type: "POST",
data: data,
dataType: "html",
success: function(msg) {
$(container).html(msg);
}
});
return this;
};
})(jQuery);
J'utilisé pour sérialiser les données de formulaire dans cette fonction, mais je réalise qu'il ne fonctionne pas pour IE, la seule solution était de sérialiser les données du formulaire avant faire autre chose!
Voici les 2 fonctions que je utilise:
$('form[ajax]').live('submit', function(e){
e.preventDefault();
var data = $(this).serialize();
var container = $(this).attr('cont');
if (typeof container == 'undefined' || container == false) {
container = '.#ajax';
}
$(container).html('<img src="public/images/ajax.gif"/>');
$(container).fadeIn('fast');
$(this).ajaxFormSubmit(container, data);
});
$('form[ajax-hidden]').live('submit', function(e){
e.preventDefault();
var data = $(this).serialize();
var container = '';
$(this).ajaxFormSubmit(container, data);
});
La deuxième fonction n'a tout simplement pas avoir la variable de données. Alors je l'ai ajouté. J'espère que cela peut aider quelqu'un.
Je dois ajouter que d'autres formes dans le site fonctionnent bien – Sarah
Cette entrée ne semble pas avoir de type, devrait-elle être type = "hidden"? Probablement pas la cause. – somedev
http://stackoverflow.com/questions/14201815/codeigniter-post-data-empty voir et vérifier –