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 :

Valeur courante onchange CGI::Ajax


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2007
    Messages : 12
    Points : 7
    Points
    7
    Par défaut Champ suivant : comment le définir ? (nextSibling?)
    Bonjour à tous,

    Je n'ai pas trouvé ma réponse dans le forum, alors je tente ma chance en ouvrant un nouveau sujet!

    J'aimerais récuperer la valeur d'un input à chaque 'onchange'. Seulement le nom du champ est répété plusieurs fois (boucle) et donc en utilisant le id, je récupère la mauvaise valeur (la première ayant le id 'doss'). J'ai pensé utilisé "this", mais ca ne fonctionne pas. Le onchange est inséré au niveau du createelement.
    Je précise que j'utilise CGI::Ajax.

    Quelqu'un sait-il comment récupérer ?

    Voila un bout de mon code pour que ce soit un peu plus clair :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    	oInputDoss = document.createElement('input');
    	oInputDoss.setAttribute('name','dossard');
    	oInputDoss.setAttribute('id','doss');
    		oInputDoss.onchange = function enre() {
    		enregistre([{args:this}],[]);
    		}
    Merci d'avance!
    Bonne journée

    Lily

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2007
    Messages : 12
    Points : 7
    Points
    7
    Par défaut nextSibling champ suivant
    Re Bonjour,

    Je n'ai toujours pas résolu ce problème. Peut-etre que ma question n'était pas très claire.

    J'aimerai insérer le résultat dans le champ voisin de mon input. Ce champ voisin (comm) et dans le meme noeud que l'input (doss).

    Comment définir ce champ ? (nextSibling...?)

    Merci d'avance!

  3. #3
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    Citation Envoyé par Lily_ Voir le message
    Seulement le nom du champ est répété plusieurs fois (boucle) et donc en utilisant le id, je récupère la mauvaise valeur (la première ayant le id 'doss').
    franchement, c'est tjrs un peu dur à comprendre;

    si tu es dans une boucle pour attribuer name, tu l'es aussi pour id; et là ce n'est pas logique;

    et puis ta dernière ligne, excuse-moi mais elle est complètement opaque si on n'a pas le code javascript complet;

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2007
    Messages : 12
    Points : 7
    Points
    7
    Par défaut
    Désolée, je vais essayer d'être un peu plus claire! J'ai un peu de mal à expliquer mes problèmes

    Voilà déjà mon javascript :
    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
    27
    28
    29
    30
    function affichetemps () {
       var result = arguments[0];
     
       if (result) {
    	insertO = document.getElementById("outputList");
     
    	oPara = document.createElement('p');
    	oTime = document.createTextNode(result);
    	oPara.appendChild(oTime);
     
    	oInputDoss = document.createElement('input');
    	oInputDoss.setAttribute('name','dossard');
    	oInputDoss.setAttribute('id','doss');
    		oInputDoss.onchange = function enre() {
    		verifdossvalid([{args:this.value}],['comm']);
    		}
    	oPara.appendChild(oInputDoss);
     
    	oComm = document.createElement('span');
    	oComm.setAttribute('id', 'comm');
    	oPara.appendChild(oComm);
     
     
    	insertO.insertBefore(oPara, insertO.firstChild);
     
    	lastTime = result;
    	}
    	setTimeout ('gettemps();', 2000);
     
    }
    Cette fonction "affichetemps" est appelée de nombreuses fois. Par conséquent, les champs id=doss et id=comm sont présents plusieurs fois. Je veux afficher un commentaire dans le champ id=comm, qui correspondent à l'id=doss de la même boucle.

    Le problème du code que j'ai écrit, c'est que le commentaire obtenu en retour de ma fonction s'insère dans le dernier champ 'comm' créé et non pas dans le comm correspondant.

    Suis-je compréhensible ? Quelqu'un saurait m'aider ?

    Merci d'avance!

  5. #5
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    hum... toujours aucune info sur la fonction verifdossvalid (c'est ce que j'attendais) mais tant pis;
    en tout cas, débrouille-toi pour que chaque champ ait un id différent! c'est une règle html qu'il faut plus que jamais respecter quand tu veux affecter des valeurs dynamiquement via javascript;

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2007
    Messages : 12
    Points : 7
    Points
    7
    Par défaut
    Merci! J'ai modifié les id et cela résout effectivement mon problème.

    Bonne soirée!

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

Discussions similaires

  1. [PL/SQL]Récupere la valeure courante d'un trigger
    Par ludovic85 dans le forum Oracle
    Réponses: 11
    Dernier message: 08/08/2006, 16h16
  2. [Tableaux] option selected sur la valeur courante
    Par guy2004 dans le forum Langage
    Réponses: 4
    Dernier message: 21/05/2006, 16h54
  3. Modifier la valeur courante de l'auto-increment
    Par Matth_S dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 09/03/2006, 15h02
  4. Selectionner la valeur courante d'une liste
    Par genova dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 03/01/2006, 21h46
  5. Réponses: 1
    Dernier message: 03/12/2005, 13h24

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