IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Changer contenu d'un onclick


Sujet :

JavaScript

  1. #1
    Expert �minent
    Avatar de CinePhil
    Homme Profil pro
    Ing�nieur d'�tudes en informatique
    Inscrit en
    Ao�t 2006
    Messages
    16 818
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 62
    Localisation : France, Haute Garonne (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : Ing�nieur d'�tudes en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Ao�t 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par d�faut Changer contenu d'un onclick
    Bonjour,

    Soit une page qui affiche plusieurs messages avec, pour chacun d'eux, un lien permettant de supprimer le message via une fancybox qui demande confirmation de la suppression.

    Par exemple, il y a dans l'ordre les messages num�ros 40, 39, 23, 5 avec en regard de chaque message un lien supprimer :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    <a id="delete<?php echo $id_msg; ?>"
    							class="souligneSurvol" 
    							onclick="popupDeleteMessage(<?php echo $id_msg; ?>,'<?php echo $_SESSION['coords']['id']; ?>');"
    						>
    							<?php echo $trad_delete; ?>
    						</a>
    Le lien ne fait qu'afficher la fancybox en lui passant 2 param�tres.

    La fancybox est d�finie une seule fois dans le code phtml et contient le message de confirmation et les boutons oui et non, le tout traduit dans la langue choisie par l'utilisateur.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    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
    <div id="popupDeleteMsg" class="popupFancyBox">
    	<span class="popupTitle"><?php echo $trad_Delete_message; ?></span>
    	<div class="popupForm">
    		<form id="form_suppression"
    			name="form_suppression"
    			action=""
    			method="post"
    		>
    			<div id="deleteMsgConfirm">
    				<?php echo $trad_q_delete_confirm; ?>
    			</div>
    			<div class="popupMessageDiv">
    				<input type="button" 
    					id="buttonYes"
    					value="<?php echo $trad_YES; ?>"
    					onclick="lancerSuppressionMessage(<?php echo $id_msg; ?>, <?php echo $_SESSION['coords']["id"]; ?>)"
    				/>
    				<input type="button"
    					id="buttonNo"
    					value="<?php echo $trad_NO; ?>"
    					onclick="javascript:$.fancybox.close();"
    				/>
    			</div><!-- Fin popupMessageDiv -->
    		</form>
    	</div><!-- Fin popupForm -->
    </div><!-- Fin popupDeleteMsg -->
    Le probl�me est que les param�tres pass�s via onclick du bouton oui � la fonction lancerSuppressionMessage doivent �tre ceux du message que l'utilisateur veut supprimer alors que, pour reprendre l'exemple de ma liste de message, ce sera syst�matiquement le dernier message (le 5) dont sera lanc� la suppression.

    J'ai cherch� alors comment modifier en Javascript la valeur du param�tre onclick pour op�rer cette modification avant l'apparition de la fancybox dans la fonction popupDeleteMessage. J'ai trouv� des discussions anciennes � ce sujet mais la m�thode propos�e ne fonctionne pas :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    function popupDeleteMessage(idMessage, idJ)
    {
    	document.getElementById("buttonYes").onclick = function(){lancerSuppressionMessage(idMessage, idJ);}
    Qu'est-ce qui ne va pas dans mon code ou bien y a t-il une autre m�thode pour faire un message de confirmation personnalis� en javascript ?
    Philippe Lem�nager. Ing�nieur d'�tude � l'�cole Nationale Sup�rieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur � l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les m�mes sujets.
    � Ce que l'on con�oit bien s'�nonce clairement, et les mots pour le dire arrivent ais�ment �. (Nicolas Boileau)
    � la maison comme au bureau, j'utilise la suite Linux Mage�a !

  2. #2
    Expert �minent
    Avatar de CinePhil
    Homme Profil pro
    Ing�nieur d'�tudes en informatique
    Inscrit en
    Ao�t 2006
    Messages
    16 818
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 62
    Localisation : France, Haute Garonne (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : Ing�nieur d'�tudes en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Ao�t 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par d�faut
    Je me suis peut-�tre mal exprim� :

    Comment cr�er une bo�te de dialogue de confirmation traduisible en plusieurs langues et avec param�tres pour l'action confirm�e ?

    Si vous ne comprenez pas la question, voir le grand message au dessus !
    Philippe Lem�nager. Ing�nieur d'�tude � l'�cole Nationale Sup�rieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur � l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les m�mes sujets.
    � Ce que l'on con�oit bien s'�nonce clairement, et les mots pour le dire arrivent ais�ment �. (Nicolas Boileau)
    � la maison comme au bureau, j'utilise la suite Linux Mage�a !

  3. #3
    Membre confirm�
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Septembre 2007
    Messages
    92
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activit� : D�veloppeur Web

    Informations forums :
    Inscription : Septembre 2007
    Messages : 92
    Par d�faut
    Hello Phil,

    Ton code semble correct! J'ai essay� avec le code ci-dessous et �a fonctionne, si jamais.

    Code html : S�lectionner tout - Visualiser dans une fen�tre � part
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    <!DOCTYPE HTML><html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>Document sans nom</title>
    </head>
    <style type="text/css">
    #popupDeleteMsg{
            width: 200px;
            margin: 0 auto;
            background-color: #eee;
            border-radius: 3px;
            box-shadow: 1px 1px 3px #999;
            font-family: "lucida grande", tahoma, verdana, arial, sans-serif;/*     overflow-x: hidden; */
    }
    .popupFancyBox{
            display:none;
    }
    .show{
            display:block !important;
    }
    </style>
    <body>
    <a id="delete1"
    class="souligneSurvol"
    onclick="popupDeleteMessage(1,'alpha');"
    >Delete</a>
    <br><br>
    <a id="delete2"
    class="souligneSurvol"
    onclick="popupDeleteMessage(2,'beta');"
    >Delete</a>
    <br><br>
     
    <a id="delete3"
    class="souligneSurvol"
    onclick="popupDeleteMessage(3,'gamma');"
    >Delete</a>
    <br><br>
     
    <a id="delete4"
    class="souligneSurvol"
    onclick="popupDeleteMessage(4,'delta');"
    >Delete</a>
     
    <div id="popupDeleteMsg" class="popupFancyBox">
    	<span class="popupTitle"><?php echo $trad_Delete_message; ?></span>
    	<div class="popupForm">
    		<form id="form_suppression" name="form_suppression" action="" method="post">
    			<div id="deleteMsgConfirm">
    			DELETE ?
    			</div>
    			<div class="popupMessageDiv">
    				<input type="button" 
    					id="buttonYes"
    					value="OUI"
                        onclick="alert('empty link')";
    					 />
    				<input type="button"
    					id="buttonNo"
    					value="NON"
    					onclick="javascript:closeFB('popupDeleteMsg');" />
    			</div><!-- Fin popupMessageDiv -->
    		</form>
    	</div><!-- Fin popupForm -->
    </div><!-- Fin popupDeleteMsg -->
     
     
    <script type="text/javascript">
    function popupDeleteMessage(idMessage, idJ){
            document.getElementById("popupDeleteMsg").className = 'show';
            document.getElementById("buttonYes").onclick = function(){
                    lancerSuppressionMessage(idMessage, idJ);
            }
    }
    function closeFB(fancy){
            document.getElementById("popupDeleteMsg").className = 'popupFancyBox'}
    function lancerSuppressionMessage(idm, idj){
            alert(idm);
    }
    </script>
    </body>
    </html>

Discussions similaires

  1. menu a onglet: changer contenu d'une page php
    Par poupouille dans le forum G�n�ral JavaScript
    R�ponses: 3
    Dernier message: 07/04/2008, 09h32
  2. [POO] Changer contenu swf au clic
    Par FLoww dans le forum G�n�ral JavaScript
    R�ponses: 2
    Dernier message: 22/01/2008, 19h51
  3. [Struts] Changer bgcolor avec un onclick()
    Par R1pToR dans le forum G�n�ral JavaScript
    R�ponses: 11
    Dernier message: 19/07/2007, 14h18
  4. [javascript] Changer la valeur de onclick()
    Par LE NEINDRE dans le forum G�n�ral JavaScript
    R�ponses: 5
    Dernier message: 01/12/2005, 10h29
  5. Changer contenu d'une fenetre parente
    Par ouam81 dans le forum G�n�ral JavaScript
    R�ponses: 2
    Dernier message: 26/07/2005, 11h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo