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 :

Supprimer du texte via Javascript


Sujet :

JavaScript

  1. #1
    Membre très actif
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 134
    Par défaut Supprimer du texte via Javascript
    Bonjour à tous,

    Comment puis je supprimer un morceau de texte ?
    Exemple:
    J'ai une champs hidden qui contient: "voiture-rat-pigeon-vacances" et je veux supprimer juste le mot "rat" ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    function delete_id_cpt(txt){
     
    	cpt_txt=document.getElementById('cpt_txt').value;
    	if(cpt_txt.indexOf(txt,0) != -1){
    		alert(txt+"Trouver");
    // c'est ici que jvais devoir faire appel a la fct que vous allez me donnez ?!
    	}else{
    		alert(txt+" Non trouver");
    	}
    }
    Merci

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    toujours le mot rat ? ou le mot en seconde position ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre très actif
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 134
    Par défaut
    Exemple:
    J'ai une champs hidden qui contient: "voiture-rat-pigeon-vacances" et je veux supprimer juste le mot "rat" ?
    Donc c'est un exemple ...

    Je veux faire appel à ma function avec un parametre qui sera le mots à supprimer, donc chaque fois qu'il trouvera le mots il le supprimer de mon hidden ?

    J'essaye en ce moment de faire ça, mais sa ne fonctionne pas !!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    function delete_id_cpt(txt){
     
    	cpt_txt=document.getElementById('cpt_txt').value;
    	if(cpt_txt.indexOf(txt,0) != -1){
    		alert(txt+"Trouver");
    //Au lieu de toLowerCase() je veux appeller une function delete() de JAVASCRIPT
                   document.getElementById('cpt_txt').value[i].toLowerCase();
    // c'est ici que jvais devoir faire appel a la fct que vous allez me donnez ?!
    	}else{
    		alert(txt+" Non trouver");
    	}
    }

    Merci

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function supprime(id_input, mot, sep) {
    var tabVal = document.getElementById(id_input).value.split(sep);
    for (var i=0;i<tabVal.length; i++)
      if (tabVal[i] == mot)
         tabVal[i] = "";
    document.getElementById(id_input).value = tabVal.join("-");
    }
    ==>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    supprime("id_input_a_traiter","rat","-");
    A+

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    oui ou encore
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <script type="text/javascript">
    function killword(idobj,mot,sep){
    var reg=new RegExp("\\"+sep+mot+"|"+mot+"\\"+sep,"g")
    return document.getElementById(idobj).value.replace(reg,"")
    }
    </script>
    qui peut s'utiliser comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <input type='text' id="test" value="voiture-rat-pigeon-vacances" onclick="this.value=killword(this.id,'rat','-')" style="width:200px;"/>
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  6. #6
    Membre très actif
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 134
    Par défaut
    Salut à tous,

    Sorry mais sa fonctionne toujours pas ?!
    E.Bzz==>
    Bonjour,
    Code :

    function supprime(id_input, mot, sep) {
    var tabVal = document.getElementById(id_input).value.split(sep);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for (var i=0;i<tabVal.length; i++)
      if (tabVal[i] == mot)
         tabVal[i] = "";
    document.getElementById(id_input).value = tabVal.join("-");
    }
    ==>
    Code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    supprime("id_input_a_traiter","rat","-");
    A+
    Si par exemple dans la "value" de mon "input" j'ai "1-2-3"
    Avec cette function j'ai de retour 1--3, càd qu'il remplace le 2 par "" rien de plus ?!

    SpaceFrog ==> Concernant cette function rien ne se passe ..;

    J'ai essayé de modifier vos codes mais rien ... !
    Je n'arrive pas à supprimer un mots d'une une chaine ?!

  7. #7
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    il manque juste la partie du code html pour que l'on puisse voir ce que tu n'a pas compris ...

    tu peux nous montrer le html de l'input avec son id ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  8. #8
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par c-bolo Voir le message
    J'ai une champs hidden qui contient: "voiture-rat-pigeon-vacances" et je veux supprimer juste le mot "rat" ?
    Citation Envoyé par c-bolo Voir le message
    Si par exemple dans la "value" de mon "input" j'ai "1-2-3"
    Avec cette function j'ai de retour 1--3, càd qu'il remplace le 2 par "" rien de plus ?!
    Est-ce que tu relis ce que tu écris ?
    C'est exactement ce que tu as demandé !

    Ou alors, il faut que tu nous explique la différence entre "supprimer un mot" et "remplacer un mot par une chaîne vide"

    A+

  9. #9
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    perso avec ma regexp j'ai inclus la suppression des séparateurs ... :rolleyes:
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  10. #10
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    perso avec ma regexp j'ai inclus la suppression des séparateurs ... :rolleyes:
    Oui, donc l'une des 2 est forcément la bonne

    A+

  11. #11
    Membre très actif
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 134
    Par défaut
    Bonjour à tous,

    Mon code html est générer par du Javascript

    1- Création de mes <input....

    Une question est un ensemble de:
    1 * Question (type = text), 3 * Reponse (type = text),2 * mauvaiseReponse (type=hidden), 3 * Radio et 1 * Supprimer (type= button)

    Les boutons radio sont en liaison directe avec le champs reponse concerner
    Dans la value de mon button radio j'ai la bonne reponse et les deux autre seront stocker dans les deux hidden mauvaiseReponse


    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
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
     
    function ajouterMedia(type,dDocName,dDocTitle) { // Déclenché depuis le bouton ajouter, affiche des input Question/Reponse
        var cpt = parseInt(document.getElementById(type + "cpt").value) + 1;
        stocker_id_cpt(cpt);
        var noeud_element = document.createElement("div");
        noeud_element.setAttribute('id', type + '-' + cpt);
        noeud_element.className = "FieldTextRow";
        var html=null;
        // Les if/else est juste la pour afficher le zero lorsque c'est une unité ex: 1 devient 01 ect ...
     
        /*Question*/
        if(cpt<10){
            html = '<b><p>Question 0'+cpt+' <input id="' + type + 'Id-'+cpt+'" name="'+type+'Id-'+cpt+'" value="'+dDocName+'" type="text" size="50px"><br></b>';
        }else{
            html = '<b><p>Question '+cpt+' <input id="' + type + 'Id-'+cpt+'" name="'+type+'Id-'+cpt+'" value="'+dDocName+'" type="text" size="50px"><br></b>';
        }
     
        /*Réponse*/
     
        if(cpt<10){
            html = html + '<b> Reponse 0'+cpt+':<h4>(Séléctionner la bonne réponse)</h4></b><br>';
        }else{
            html = html + '<b> Reponse '+cpt+':<h4>(Séléctionner la bonne réponse)</h4></b><br>';
        }
     
        html = html +'<input id="mauvaisereponse1-'+cpt+'" name="mauvaisereponse1-'+cpt+'" value="" type="hidden" >';
        html = html +'<input id="mauvaisereponse2-'+cpt+'" name="mauvaisereponse1-'+cpt+'" value="" type="hidden" >';
     
        /*01 button text*/
        var cptReponse=1;
        html = html + '<input id="'+type+'Label-'+cpt+'-'+cptReponse+'" name="'+type+'Label-'+cpt+'" value="'+dDocTitle+'" type="text" >';
        /*01 button radio*/
        html = html + '<input id="bonnereponse'+cpt+'" name="bonnereponse'+cpt+'" value="" type="radio" onclick="javascript:chargeValueRadio(\''+type+'\','+cpt+','+cptReponse+')"><br>';
     
     
        /*02 button text*/
        cptReponse++;
        html = html + '<input id="'+type+'Label-'+cpt+'-'+cptReponse+'" name="'+type+'Label-'+cpt+'" value="'+dDocTitle+'" type="text" >';
        /*02 button radio*/
        html = html + '<input id="bonnereponse'+cpt+'" name="bonnereponse'+cpt+'" value="" type="radio" onclick="javascript:chargeValueRadio(\''+type+'\','+cpt+','+cptReponse+')"><br>';
     
     
        /*03 button text*/
        cptReponse++;
        html = html + '<input id="'+type+'Label-'+cpt+'-'+cptReponse+'" name="'+type+'Label-'+cpt+'" value="'+dDocTitle+'" type="text" >';
        /*03 button radio*/
        html = html + '<input id="bonnereponse'+cpt+'" name="bonnereponse'+cpt+'" value="" type="radio" onclick="javascript:chargeValueRadio(\''+type+'\','+cpt+','+cptReponse+')">';
     
        if(cpt<10){
            html = html + '<input type="button" value="Supprimer la question 0'+cpt+'" onclick="javascript:supprimerMedia(\''+type+'\','+cpt+')"/><br><br><br><hr>';
        }else{
            html = html + '<input type="button" value="Supprimer la question '+cpt+'" onclick="javascript:supprimerMedia(\''+type+'\','+cpt+')"/><hr><br><br>';
        }
     
        noeud_element.innerHTML = html;
     
        if(document.getElementById(type+"s").appendChild(noeud_element) != null)
            document.getElementById(type+"cpt").value = cpt;
    };
    Le bouton Supprimer appel une fonction qui permet de supprimer une bloc question.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function supprimerMedia(type,cpt) {
        var noeud = document.getElementById(type+"-"+cpt);
        if(noeud != null){
            document.getElementById(type+"s").removeChild(noeud);
        }
        document.getElementById('nbrQuestion').value--;
        //alert("Avant supprime cpt_txt: "+document.getElementById('cpt_txt').value);
        supprime(cpt); // c'est ICI que je dois faire appel à ma fonction encore inconnue ?!
        //alert("Apres supprime cpt_txt: "+document.getElementById('cpt_txt').value);
    };

    On peut constater que la variable "cpt" est l'identifiant de la question !
    Avant de crée une nouvelle question, je stock dans cpt_txt le cpt.

    Si je veux supprimer une question je dois aussi supprimer le cpt de ma variable cpt_txt de type string

    J'espère que je vous embrouille pas avec tt le code ?!

    Sinon merci d'avance à tous ++

  12. #12
    Membre très actif
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 134
    Par défaut
    Voici la fonction que j'ai copie de SpaceForg
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    function killword(cpt,sep){
        var reg=new RegExp("\\"+sep+cpt+"|"+cpt+"\\"+sep,"g")
        return document.getElementById("cpt_txt").value.replace(reg,"")
    }
    Voici le code de l'appelant !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    function supprimerMedia(type,cpt) {
        var noeud = document.getElementById(type+"-"+cpt);
        if(noeud != null){
            document.getElementById(type+"s").removeChild(noeud);
        }
        document.getElementById('nbrQuestion').value--;
        alert("Avant supprime cpt_txt: "+document.getElementById('cpt_txt').value);
        killword(cpt,"-");
        alert("Apres supprime cpt_txt: "+document.getElementById('cpt_txt').value);
    };
    AUCUNE REACTION ?!

    Sorry mais je reformule ma question pour qu'il n'y es pas d'ambiguité

    Avant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input id="cpt_txt" type="hidden" value="1-2-3-4-5" >
    Ici la taille est 7

    Après
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input id="cpt_txt" type="hidden" value="1-3-5" >
    Ici la taille est 5
    C'est à dire la question dont l'id = 2 et 4 j'en veux plus

    J'aurais bien aimez mettre la valeur 1, 3 et 5 dans un tableau, mais je ne sais pas comment faire pour récupère un tableaux global via une servlet Java

    Merci à tous

  13. #13
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    heu la fonction killword retourne la valeur ...
    elle ne modifies pas la chaine
    si tu ne l'attribues à rien ne t'étonne pas que tu ne voies rien ...


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    cpt=document.getElementById('cpt_txt').value
     alert("Avant supprime cpt_txt: "+cpt);
        cpt=killword(cpt,"-");
        alert("Apres supprime cpt_txt: "+cpt);
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  14. #14
    Membre très actif
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 134
    Par défaut
    Oupss

    Effectivement j'avais oublié d'utilisé le retour de ma fonction ?!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function supprimerMedia(type,cpt) {
        .......
        document.getElementById('cpt_txt').value=killword(cpt,"-");
        .......
    };
    Encore merci à tous !!

    ++

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

Discussions similaires

  1. Supprimer les Cookies via Javascript dans Firefox
    Par thais781 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 01/10/2014, 15h11
  2. afficher une zone de texte en javascript via onchange()
    Par berti dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 24/11/2011, 19h53
  3. [XL-2007] Format javascript dans fichier texte via urldownloadtofile VBA
    Par patbo2 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/10/2009, 12h44
  4. Supprimer un fichier texte via VBA
    Par Mimosa777 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 17/04/2008, 22h01
  5. recuperer champs texte dans variable session via javascript
    Par richton95 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 10/03/2006, 14h17

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