Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > jQuery
jQuery Forum d'entraide sur le framework jQuery. Avant de poster : Tutoriels jQuery, FAQ jQuery, Tous les tutoriels JavaScript, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/03/2011, 12h03   #1
Membre Expert
 
Homme
Développeur informatique
Inscription : juillet 2005
Messages : 512
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : juillet 2005
Messages : 512
Points : 1 869
Points : 1 869
Par défaut soucis sur remplacement de code

Bonjour tout le monde, j'ai un souci avec jQuery. En fait je souhaiterais remplacer un code par un autre dans un formulaire tout en gardant l'event actif. Sauf que ça marche une seule fois mais pas 2.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 
<!DOCTYPE PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
    <head>
	<script src="http://code.jquery.com/jquery.min.js" type="text/javascript"></script>
    </head>
    <body>
        <script language="javascript">
          $(document).ready(function(){
            $("#frmlogin").submit(function(){
              alert('click');
                $("#login").html(
      		      '<form id=\"frmlogin\" action=\"#\">'+
                        '<input type=\"submit\" />'+
                    '</form>');
 
              return false;
            });
        });
        </script>
        <div id="login" class="boxed">
            <form id="frmlogin" action="#">
                <input type="submit" />
            </form>
        </div>
    </body>
</html>
C'est un code exemple mais qui isole le problème. Dans ce code, à chaques fois qu'on click sur le "submit" il devrait y avoir un message d'alerte mais ça ne marche qu'une seule et unique fois
Quelqu'un pourrait-il m'aider ? Merci d'avance
Neko est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/03/2011, 12h19   #2
Rédacteur
 
Avatar de Arnaud F.
 
Homme Arnaud Feltz
Développeur .NET
Inscription : août 2005
Messages : 5 204
Détails du profil
Informations personnelles :
Nom : Homme Arnaud Feltz
Âge : 25
Localisation : France

Informations professionnelles :
Activité : Développeur .NET
Secteur : Transports

Informations forums :
Inscription : août 2005
Messages : 5 204
Points : 6 113
Points : 6 113
Bonjour,

le comportement est normal, une fois un élément retiré de la page, on supprime tous les events qui y ont été associé, pour que le binding des évènements persiste, il faut passer par .live()
Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
          $(document).ready(function(){
            $("#frmlogin").live("submit", function(){
              alert('click');
                $("#login").html(
      		      '<form id=\"frmlogin\" action=\"#\">'+
                        '<input type=\"submit\" />'+
                    '</form>');
 
              return false;
            });
        });
__________________
C'est par l'adresse que vaut le bûcheron, bien plus que par la force. Homère

Installation de Code::Blocks sous Debian à partir de Nightly Builds
Arnaud F. est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 12/03/2011, 13h16   #3
Membre Expert
 
Homme
Développeur informatique
Inscription : juillet 2005
Messages : 512
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : juillet 2005
Messages : 512
Points : 1 869
Points : 1 869
Ok, merci beaucoup pour cette réponse
Neko est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h26.


 
 
 
 
Partenaires

Hébergement Web