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 :

utilisation de onclick = new Function()


Sujet :

JavaScript

  1. #1
    Membre extrêmement actif Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Points : 682
    Points
    682
    Par défaut utilisation de onclick = new Function()
    Bonsoir,

    Je crée une partie d'un formulaire dynamiquement et j'ai besoin d'un onclick

    J'ai fait comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    cell = document.createElement('a');
    texte = document.createTextNode(user_nom);
    cell.appendChild(texte);
    cell.onclick = function(){javascript:window.location = '../admin/onglet_users_11.php?send_id_user='+user_id+'&send_trt=Modifier'};
    ligne.appendChild(cell);
    La valeur de mon user_id est la dernière valeur d'une boucle. j'ai lu qu'il fallait faire autrement s'il y avait une boucle.

    J'ai donc fait comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    cell = document.createElement('a');
    texte = document.createTextNode(user_nom);
    cell.appendChild(texte);
    cell.onclick = new Function(window.location = '../admin/onglet_users_11.php?send_id_user='+user_id+'&send_trt=Modifier');
    ligne.appendChild(cell);
    Le problème est qu'elle s'exécute systématiquement elle n'attentd pas le onclick.


    J'ai essayé d'échapper les cotes, mais rien y fait.

  2. #2
    Membre extrêmement actif Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Points : 682
    Points
    682
    Par défaut
    N'est-ce pas dû au fait que pour exécuter mon JS de crétion de formulaire, je fais un onclick et qu'il croit être toujours actif ?

    Si oui comment arrêter un onclick ?

  3. #3
    Membre extrêmement actif Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Points : 682
    Points
    682
    Par défaut
    Bien sûr je pourrais simplement faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cell.onclick = function(){window.location = '../admin/onglet_users_11.php?send_id_user='+user_id+'&send_trt=Modifier'};
    Mais comme c'est dans une boucle

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    for (i=1; i<=nbr_user; i++)
    {
    var user_id = items.item(n).firstChild.data;
    cell = document.createElement('a');
    cell.onclick = function(){javascript:window.location = '../admin/onglet_users_11.php?send_id_user='+user_id+'&send_trt=Modifier'};
    }

    Mais le problème c'est que la valeur de "user_id" est la valeur du dernier de la boucle pour chaque itération.

    J'ai mis un alert après "var user_id" et les valeurs sont les bonnes.

  4. #4
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 239
    Points
    3 239
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    for (i=1; i<=nbr_user; i++)
    {
    var user_id = items.item(n).firstChild.data;
    cell = document.createElement('a');
    cell.user_id=user_id;
    cell.onclick = function(){ window.location = '../admin/onglet_users_11.php?send_id_user='+this.user_id+'&send_trt=Modifier'};
    }

  5. #5
    Membre extrêmement actif Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Points : 682
    Points
    682
    Par défaut
    Oui, c'est top, tout à fait cela.

    Merci beaucoup.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 18/06/2010, 18h12
  2. [Best Practices] Eval || new Function
    Par kaymak dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 12/02/2009, 17h15
  3. Utiliser fonction OnClick
    Par Badiha dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 04/11/2008, 10h50
  4. Réponses: 12
    Dernier message: 05/05/2006, 09h29
  5. [Hibernate] Utilisation de select new
    Par speedster dans le forum Hibernate
    Réponses: 2
    Dernier message: 10/09/2005, 16h41

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