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 :

Modification d'un HTML créé dynamiquement


Sujet :

JavaScript

  1. #1
    Membre actif Avatar de Zebulon777
    Homme Profil pro
    Informaticien
    Inscrit en
    Février 2005
    Messages
    1 320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Février 2005
    Messages : 1 320
    Points : 286
    Points
    286
    Par défaut Modification d'un HTML créé dynamiquement
    Bonjour tout le monde,

    Tout d'abord, j'espère que je ne me suis pas trompé de section, si c'est lecas, merci aux modérateurs de bien vouloir déplacer mon message, avec toutes mes confuses...

    Je vous explique donc mon souci : pour faire simple, j'ai une TABLE qui contient 1 ligne de 2 cellules, la 1ère cellule contient un libellé et la 2ème un TEXTAREA, limité à 600 caractères, suivi d'un SPAN permettant d'afficher une information.
    Je compte le nombre de caractères restant à saisir dans le TEXTAREA et j'affiche ce nombre sous le libellé, mais voila, j'aimerai pouvoir l'affiche sous l'information contenu dans le SPAN.

    Voici ce que ça donne :
    Nom : Table.png
Affichages : 78
Taille : 6,3 Ko

    La table est fabriquée dynamiquement, voici le code, mais il n'y a rien de particulier :
    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
    ...
    ...
    ...
    WId1 = "Input" + G_NbINPUT;
    WId_Com = "ID_COM";
    WLigne = "<tr><td width='"+WTaille1+"' id='" + WId_Com + "'>";
    WLigne = WLigne + WLib1 + "</td>";
    WTaille = 100 - parseInt(WTaille1) + "%";
    WLigne = WLigne + "<td colspan='4' width='" + WTaille + "'>";
    WLig = "rows='" + $(this).find('ELEMENT').attr('LIG') + "' ";
    WCol = "cols='" + $(this).find('ELEMENT').attr('COL') + "' ";
    WLigne = WLigne + "<textarea id='"+ WId1 + "' " + WLig + WCol + "' class='"+WClasse1+"'";
    WOnBlur = " onblur='ControlesINPUT(" + G_NbINPUT + ")'";
    WLigne = WLigne + WOnBlur; 
    WOnKeyUp = " onkeyup='Decompte(this)'";
    WLigne = WLigne + WOnKeyUp; 
    WLigne = WLigne +  ">"; // + WId1;
    WLigne = WLigne + "</textarea>";
    var WInfo = "<span class='" + G_CLASSE_INFO + "'> (600 car. max.) </span>";
    WLigne = WLigne + WInfo;
    WLigne = WLigne + "</td></tr>";
    $('#'+WNomTAB).append($(WLigne));
    ...
    ...
    ...
     
    // Voici la fonction  de décompte :
    function Decompte(P_Textarea){
    	if(P_Textarea.value.length > 600)
    	{
    		P_Textarea.value = P_Textarea.value.substring(0, 600); 
    	}
    	if(P_Textarea.value.length < 500)
    	{
    		document.getElementById('ID_COM').style.color = 'black';
    	}
    	else
    	{
    		document.getElementById('ID_COM').style.color = 'red';
    	}
    	WNbCar = 600 - P_Textarea.value.length;
    	document.getElementById('ID_COM').innerHTML = "Commenaires<BR/>(Nb Car. restant : " + WNbCar + ")";	
    }
    Merci d'avance pour votre aide.

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('ID_COM').innerHTML = "Commenaires<BR/>(Nb Car. restant : " + WNbCar + ")";
    Euh... tu comprends ce que tu fais là ?
    Si j'en crois ton code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    WId_Com = "ID_COM";
    WLigne = "<tr><td width='"+WTaille1+"' id='" + WId_Com + "'>";
    L'élément ID_COM est le <td> qui contient le textarea et donc tu demandes à la fin de la fonction de remplacer l'ensemble du contenu de la cellule par ton message... Il te faut un élément en plus pour y mettre le message et le mettre à jour avec ta fonction...

  3. #3
    Membre actif Avatar de Zebulon777
    Homme Profil pro
    Informaticien
    Inscrit en
    Février 2005
    Messages
    1 320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Février 2005
    Messages : 1 320
    Points : 286
    Points
    286
    Par défaut
    Je ne comprends pas ce que tu veux dire, car avec ce code, ça fonctionne très bien, mais le nombre de caractères restant est ajouté à la première cellule qui contient donc le libellé.

    Mais ce que je cherche à faire, et que je n'arrive pas du tout à faire, c'est de remplacer " (600 car. max.) " par " (600 car. max.) <br/> (Nb Car. restant : 582)"

  4. #4
    Membre expert
    Avatar de Golgotha
    Homme Profil pro
    Full-stack Web Developer
    Inscrit en
    Août 2007
    Messages
    1 387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Full-stack Web Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2007
    Messages : 1 387
    Points : 3 535
    Points
    3 535
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Tu donne un ID à ta span (ligne 20) et tu fait pareil que le td.

  5. #5
    Membre actif Avatar de Zebulon777
    Homme Profil pro
    Informaticien
    Inscrit en
    Février 2005
    Messages
    1 320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Février 2005
    Messages : 1 320
    Points : 286
    Points
    286
    Par défaut
    Ha bah voui, c'était tout bête, heureusement que les vacances sont bientôt là

    Bon, par contre, encore un tout petit problème :

    Je n'arrive pas à ce que ça reste exactement sous le texte ?
    Nom : Table2.png
Affichages : 65
Taille : 6,0 Ko

    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
     
    function Decompte(P_Textarea){
    	if(P_Textarea.value.length > 600)
    	{
    		P_Textarea.value = P_Textarea.value.substring(0, 600); 
    	}
    	if(P_Textarea.value.length < 500)
    	{
    //		document.getElementById('ID_COM').style.color = 'black';
    		document.getElementById('ID_SPAN').style.color = 'yellow';
    	}
    	else
    	{
    //		document.getElementById('ID_COM').style.color = 'red';
    		document.getElementById('ID_SPAN').style.color = 'red';
    	}
    	WNbCar = 600 - P_Textarea.value.length;
    //	document.getElementById('ID_COM').innerHTML = "Commenaires<BR/>(Nb Car. restant : " + WNbCar + ")";	
    WLibSpan = document.getElementById('ID_SPAN').innerHTML;
    	document.getElementById('ID_SPAN').innerHTML = WLibSpan + "<br/> (Nb Car. : " + WNbCar + ")";	
    }

  6. #6
    Membre expert
    Avatar de Golgotha
    Homme Profil pro
    Full-stack Web Developer
    Inscrit en
    Août 2007
    Messages
    1 387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Full-stack Web Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2007
    Messages : 1 387
    Points : 3 535
    Points
    3 535
    Billets dans le blog
    1
    Par défaut
    Le plus facile c'est que tu fasse une 3ème cellule (un autre td).

  7. #7
    Membre actif Avatar de Zebulon777
    Homme Profil pro
    Informaticien
    Inscrit en
    Février 2005
    Messages
    1 320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Février 2005
    Messages : 1 320
    Points : 286
    Points
    286
    Par défaut
    Impossible, c'est une partie d'un tout, ça foutrait un sacré bordel !

  8. #8
    Membre actif Avatar de Zebulon777
    Homme Profil pro
    Informaticien
    Inscrit en
    Février 2005
    Messages
    1 320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Février 2005
    Messages : 1 320
    Points : 286
    Points
    286
    Par défaut
    Bon, bah, j'ai fait encore plus simple : j'ai changé le texte affiché qui devient (600 car. restant) et c'est juste le nombre de caractères qui bouge.
    Bref, c'est encore plus simple et en plus ça plait au client.
    Que demander de plus.

    Merci pour votre aide...

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

Discussions similaires

  1. HTML Formulaire dynamique
    Par lilli1407 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 13/02/2015, 17h34
  2. [HTML] Menu Dynamique et Frames comment indiquer la destination
    Par remwideco dans le forum Balisage (X)HTML et validation W3C
    Réponses: 9
    Dernier message: 23/06/2006, 13h57
  3. XML/XSL -> HTML : tri dynamique
    Par nathdiscaz dans le forum XSL/XSLT/XPATH
    Réponses: 9
    Dernier message: 13/06/2006, 14h00
  4. Réponses: 3
    Dernier message: 06/03/2006, 11h34
  5. Outil pour modification de fichiers html par lots
    Par Tavernier dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 19/08/2005, 09h21

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