Problème avec fonction replace [Résolu]

Signaler
Messages postés
18
Date d'inscription
vendredi 5 janvier 2007
Statut
Membre
Dernière intervention
26 juin 2008
-
Messages postés
469
Date d'inscription
mercredi 9 janvier 2002
Statut
Membre
Dernière intervention
20 février 2017
-
Bonjour,

j'ai un petit souci sur une fonction js à qui je demande de remplacer
dans un champ hidden une valeur d'id il la match mais il ne remplace
pas, sauriez vous pourquoi ?
Il affiche l'alerte, mais il ne remplace pas, serait ce dû au type de champ hidden sur lequel j'effectue la fonction qui empêcherait un replace ?

function delete_liste(mot,id,liste,valeurs){


  var reg_mot = new RegExp(mot);
  var reg_id = new RegExp(id);
  if document.getElementById<wbr>(valeurs).value.match(reg_id){
     document.getElementById<wbr>(valeurs).value.replace(reg_id<wbr>,"");
     alert document.getElementById<wbr>(valeurs).value;

  }
}</wbr></wbr></wbr></wbr>

6 réponses

Messages postés
469
Date d'inscription
mercredi 9 janvier 2002
Statut
Membre
Dernière intervention
20 février 2017
5
Salutations, amis du jour, déjà pour commencer le code fournis est truffé d'erreur :
alert sans parenthèse, if idem

Ensuite pourquoi faire le match, la méthode replace ne remplacera rien si l'expression n'est pas trouvée !

Donc, j'en suis arrivé à la conclusion suivante:

<html>
    <head>
        <title>
        </title>
        <script>
            function delete_liste(mot,id,liste,valeurs){
                  var reg_mot = new RegExp(mot);
                  var reg_id = new RegExp(id);
                  var _elem = document.getElementById(valeurs);
                  var hiddenValue = _elem.value;
             _elem.value =  hiddenValue.replace(reg_id,"");
             alert (_elem.value);
                }
               
            function changeId(){
                    delete_liste("", "1", "", "1");
            }
            </script>
    </head>
   
           
   
</html>

????
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
Bonjour,
>>serait ce dû au type de champ hidden
non.
enfin... je dis non, mais comme on ne dispose que de peu de chose ( trop peu ! )
y' quoi dans mot ? id ? liste ? valeurs ?
comment les champs sont-ils décrits en html ?  ...

en général j'utilise tout simpement  :
var recepteur=emetteur.replace(/ce qu'il faut remplacer/gi,'remplacer par');

<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
généralement, c'est idiot de généraliser
Messages postés
18
Date d'inscription
vendredi 5 janvier 2007
Statut
Membre
Dernière intervention
26 juin 2008

Salut merci de te pencher sur le pb, j'applique cette fonction sur un champ de type hidden qui dans mon exemple contient "1," et id contient "1" que je veux supprimer de la value tout simplement, les autres valaurs servent pour autres choses ce la ne joue pas sur l'exemple.
Ce qui est dingue c'est qu'il match mais qu'il ne remplace pas. j'ai fait un affichage de reg_id qui me retourne /1/
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
>>dans mon exemple contient "1," et id contient "1" que je veux supprimer de la value tout simplement,
mais encore ?
peux-tu, simplement, donner le texte originel et ce que tu voudrais obtenir ?
et encore une fois, hidden n'intervient pas du tout. pour javascript c'est du string, rien d'autre
<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
Messages postés
18
Date d'inscription
vendredi 5 janvier 2007
Statut
Membre
Dernière intervention
26 juin 2008

Bonjour et merci,

oui effectivement j'ai recopié un peu vite mon exemple, en fait le problème venait tout simplement que je ne réaffectait pas la valeur remplacée :
document.getElemetById(x).value =  document.getElemetById(x).value.replace(reg_id,"");

Arf j'avoue g honte là
Messages postés
469
Date d'inscription
mercredi 9 janvier 2002
Statut
Membre
Dernière intervention
20 février 2017
5
De rien,
aucune honte à avoir, du moment que t'as compris ce qui ne fonctionnait pas, c'est beaucoup plus intéressant !

[O-_-o]