Suivez les fils RSS
 

Des livres incontournables pour tout maîtriser

  • CSS avancées - vers HTML5 et CSS3
  • HTML5
  • CSS2
  • PHP5 avanc�
  • Memento MySQL
  • Memento CSS 3
  • Memento XHTML
  • WordPress 3 100% pratique
  • jQuery et jQuery UI
Auteur
mediaprodx
#
Citer
14 Posts
Bonjour !

J'ai un formulaire qui se charge avec de l'ajax (avec jQuery) lorsqu'on clique sur un bouton.
Dans ce formulaire (qui est vierge si c'est un ajout, mais qui contient des données si c'est une modif), j'ai un champ texte pour une date qui contient un bon vieux class="datepicker" (cela fonctionne bien par ailleurs). Mais mon calendrier n'apparaît pas.

Ma question est donc la suivante:
y a-t-il incompatibilité entre le fait que le formulaire qui se charge via ajax et datepicker (jQuery UI) ?
Modifié par mediaprodx (07 Feb 2012 - 22:36)

http://www.vendee-entreprises.fr/ 
^
Ardnas
#
Citer
8 Posts
Bonjour,

Je suis débutant aussi en Jquery mais bon, on sait jamais !

Pourrais tu envoyer les bouts de code où sont présents l'appel de la page et le formulaire en question ?

^
kenor
#
Citer
399 Posts
Pas incompatible, juste ton formulaire n'étant pas dans le DOM, il ne pouvait pas le faire fonctionner avant.

Il te faut donc relancer "l'analyse JS" après ton chargement ajax. Tu peux par exemple simplement remettre le code que tu as mis précédemment dans le success() d'ajax.

^
mediaprodx
#
Citer
14 Posts
OK, si tu veux:

Le HTML:
<img src="../images/Add_16x16.png" alt="ajouter une action pour cette entreprise" id="addaction_btn" onclick="javascript: ouvre_actionform(0);" />
<div id="addaction_form"></div>


Le jQuery:
function ouvre_actionform (id)
{
	$('#addaction_form').toggle('fast');
    // on envoie la valeur recherché en GET au fichier de traitement
    $.ajax({
  	type : 'GET', // envoi des données en GET
	url : 'addaction_form.php' , // url du fichier de traitement
	data : 'id=' + escape(id) , // données à envoyer
	beforeSend : function() { // traitements JS à faire AVANT l'envoi
		$('#addaction_form').after('<img src="../images/loading.gif" alt="loader" id="ajax-loader-action" />'); // ajout d'un loader pour signifier l'action
	},
	success : function(data){ // traitements JS à faire APRES le retour de l'url
		$('#ajax-loader-action').remove(); // on enleve le loader
		$('#addaction_form').html(data); // affichage des résultats dans le bloc
	}
	}); // fin ajax
} // fin function


Et dans le fichier qui renvoie le formulaire (addaction_form.php), le PHP renvoie un
<input type="text" class="datepicker" name="datlimite_action" value="" />


http://www.vendee-entreprises.fr/ 
^
mediaprodx
#
Citer
14 Posts
@kenor: Effectivement, c'est logique. Mais quel code souhaites-tu placer dans le success() ?
Modifié par mediaprodx (07 Feb 2012 - 17:49)

http://www.vendee-entreprises.fr/ 
^
kenor
#
Citer
399 Posts
En gros


success : function(data) {
  obj.html(data); // t'ajoutes ton formulaire au DOM
  obj.datepicker(); // tu relances datepicker pour qu'il trouve ton champ date et l'interprete
}


^
mediaprodx
#
Citer
14 Posts
Pigé. J'essaye ça et je reviens...(demain ?) cligne

http://www.vendee-entreprises.fr/ 
^
mediaprodx
#
Citer
14 Posts
Ca maaarche ! Merci ! Problème résolu. (comment ajouter "résolu" dans le titre su post ?)

http://www.vendee-entreprises.fr/ 
^
kenor
#
Citer
399 Posts
http://forum.alsacreations.com/help.php > 14 smile

^
mediaprodx
#
Citer
14 Posts
Merci, c'est fait. A bientôt.

http://www.vendee-entreprises.fr/ 
^