|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Invité de passage
![]() Inscription : novembre 2010 Messages : 13 ![]() |
Bonjour,
voila, je souhaite dans un formulaire ouvrir une popin quand une personne click sur un bouton radio, j'ai trouvé le plugin popin, mais pour activer la popin il faut une balise <a>, j'ai donc créer une balise dans ma page et fait un $('a').click(); ça marche mais seulement une fois, j'ai trouvé sur le site jquery ceci : http://docs.jquery.com/Frequently_As...JAX_request.3F C'est un problème qui revient souvent, cependant je n'arrive pas vraiment à comprendre. Code :
Code :
|
||||
|
|
00
|
|
|
#2 |
![]() ![]() Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur Inscription : mars 2002 Messages : 30 078 ![]() |
Une chose m'intrigue , attends je te mets les lignes cote à cote ...
Y'a rien qui te choque ???
__________________
Ma page Developpez Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts) Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir... Votre post est résolu ? Alors n'oubliez pas le Tag ![]() ![]() réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr |
|
|
00
|
|
|
#3 | ||||
|
Membre actif
![]() Inscription : décembre 2009 Messages : 132 ![]() |
Je réfléchi à son problème depuis un petit moment et en ce qui me concerne je ne vois rien de choquant entre les deux lignes que tu cites SpaceFrog.
Dans $(this) fait référence à l'objet input qui a été cliqué et pas au div#popin Moi ce qui me choque, d'une part, c'est Je ne connais pas ce sélecteur, je suppose que tu voulais faire un NOT, auquel cas ce serait plutôt Code :
tu récupères l'attribut name de ton input type radio, es-tu bien sûr que c'est de cette info dont tu as besoin ? et pas l'attribut value ? (l'utilisation la plus courante des boutons radios consiste à leur donner le même name) Enfin l'utilisation du 'click' sur un input type radio n'est pas le meilleur choix, 'change' me semble plus approprié. Mais bon tout ça ne résout pas ton problème, si tu as une adresse à nous donner ça pourrait aider. L'article de la FAQ de jquery que tu indiques explique que la méthode bind() (et tous ses raccourcis) n'ajoute d'écouteurs que sur les noeuds présents dans ton DOM au moment ou tu l'appelles et que si tu veux t'adresser à des noeuds qui apparaîtront plus tard (suite a des appels ajax par exemple) tu dois utiliser la délégation d'évènement : .live() ou .delegate(). J'ai fais un petit jsfiddle et, à ce qu'on sait, ce n'est pas ton cas (http://jsfiddle.net/pSyVC/) si on modifie simplement la valeur du href l'évènement reste bindé sur le lien, aussi je ne vois pour l'instant pas vraiment où est le problème. Ce que je peux éventuellement te proposer d'essayer serait le code suivant Code :
|
||||
|
|
00
|
|
|
#4 | ||
|
Invité de passage
![]() Inscription : novembre 2010 Messages : 13 ![]() |
Pour répondre
Voici le code html de tête Code :
pour chaque ligne je stocke l'id de l'enregistrement de la base de donnée dans l'attribut name et l'attribut id est le motif de validation suivi de l'id. C'est pour cela que j'ai Je me fiche de la value du radio avec l'id="motif_siret..." en faite, il a un traitement différent et permet à l'utilisateur de modifier un numéro via une popin qui envoi un formulaire en ajax avant de revenir sur la page. Pour le selecteur, je l'ai trouvé sur le site jQuery, Attribute Contains Prefix Selector [name|="value"]Il me permet la sélection des balises avec l'attribut qui commence avec le préfixe "value". Je ne peux pas donner d'adresse comme je le fait dans le cadre d'un stage. Je test la code des lundi matin et on verra bien ^^. merci. ps : Je débute dans le jQuery et le mécanisme m'échappe encore, et j'ai pas réellement trouvé de tuto ou cours qui explique comment ça se passe avec la manipulation du DOM et les flux d'information, j'ai l'impression de coder a la one again a bis to fly. |
||
|
|
00
|
|
|
#5 | |
|
Membre actif
![]() Inscription : décembre 2009 Messages : 132 ![]() |
Citation:
Sinon, dans ton html je vois un motif-siret-10357 et un motif_siret-10358 Est-ce que ta page est mise à jour d'une manière ou d'une autre après ton appel ajax ? |
|
|
|
00
|
|
|
#6 |
![]() ![]() Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur Inscription : mars 2002 Messages : 30 078 ![]() |
il me semble que pour le name comme pour l'id il faut éviter le nommage uniquement numérique ou qui commence par du numérique ...
__________________
Ma page Developpez Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts) Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir... Votre post est résolu ? Alors n'oubliez pas le Tag ![]() ![]() réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr |
|
|
00
|
|
|
#7 | ||||||
|
Invité de passage
![]() Inscription : novembre 2010 Messages : 13 ![]() |
J'ai tester ton code eckerdecker, mais il me retourne ça
Code :
$("#popin a").attr("href", url).unbind().popin({width: 600, height: 200, className: "mypopin", loaderImg: "ajax-loader.gif", opacity: 0.6}) is undefined popin.href Code :
Code :
Code :
|
||||||
|
|
00
|
|
|
#8 |
|
Membre actif
![]() Inscription : décembre 2009 Messages : 132 ![]() |
J'ai modifié mon jsFiddle (http://jsfiddle.net/pSyVC/2/) pour prendre en compte le fonctionnement de base du plugin popin et en faisant les appels de la même manière que dans le code de ton premier post. Je ne vois aucune raison qui fasse que seule la première popin s'ouvre.
- Vérifie bien tes id "motif_siret", dans le html que tu nous montres on voit un input qui porte l'id '"motif-siret-10357" (avec un tiret au lieu d'un underscore) - Change ta ligne par pourquoi ? je ne sais pas trop, mais je trouve étrange ce sélecteur jQuery : tu es obligé de mettre des guillemets, le préfixe doit être suivi d'un tiret ... avec celui-ci ça a juste besoin de commencer par. Tu peux aussi donner un class à tes input spéciaux et cibler directement par la class. - Comme suggéré par SpaceFrog, modifie tes attributs name en préfixant les nombres d'au moins une lettre, au pire tu vires cette lettre après dans tes traitements. Question : pourquoi fais-tu un live sur tes input ? - Vérifie ta console javascript, n'as tu pas des erreurs qui apparaîtraient avec le chargement de ton formulaire ? |
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() Inscription : novembre 2010 Messages : 13 ![]() |
J'ai testé avec J'ai préfixé les attributs name d'une lettre.
l'id '"motif-siret-10357" était une erreur de frappe dans le post, j'ai pas l'erreur dans ma page. La fonction live était un test, mais ça change rien que je le mette ou non. Après j'ai vérifier dans la console web avec firebug, il ne se passe rien d'anormal. Je vais remplacer le bouton radio avec un vrai lien, comme ça le problème sera réglé. Merci beaucoup pour l'aide .
|
|
|
00
|
|
|
#10 |
![]() ![]() Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur Inscription : mars 2002 Messages : 30 078 ![]() |
__________________
Ma page Developpez Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts) Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir... Votre post est résolu ? Alors n'oubliez pas le Tag ![]() ![]() réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com