question sur chaines de caracteres

question sur chaines de caracteres - HTML/CSS - Programmation

Marsh Posté le 08-07-2005 à 11:05:54    

bonjour
 
Je voudrais savoir si il existe en javascript une fonction qui permet de decouper une chaine de caractere a partir du symbole "," et d'enregistrer les parties dans un tableau?
 
je voudrais la meme chose que explode en php mais sous javascript.

Reply

Marsh Posté le 08-07-2005 à 11:05:54   

Reply

Marsh Posté le 08-07-2005 à 11:09:34    

tableau = chaine.split(',');


---------------
Posté depuis des chiottes, sales. Me gusta.
Reply

Marsh Posté le 08-07-2005 à 11:33:14    

il me marque que split n'est pas une fonction!
et ne veux pas effectuer la tache!

Reply

Marsh Posté le 08-07-2005 à 11:36:33    

le probleme ne viens pas de split, mais de ma chaine de caractere qui visiblement ne reconnit pas comme tel, c'ets une donnée extraite d'un tableau, mais il ne veux rein savoir

Reply

Marsh Posté le 08-07-2005 à 11:36:41    

normal c'est une méthode.


---------------
Posté depuis des chiottes, sales. Me gusta.
Reply

Marsh Posté le 08-07-2005 à 11:37:06    

poste ton code


---------------
Posté depuis des chiottes, sales. Me gusta.
Reply

Marsh Posté le 08-07-2005 à 11:39:27    

Code :
  1. i = document.fichedep.villedep.selectedIndex;
  2. $data = villedep[i];// valeur recupere est p1,nom_ville
  3. //$data1="bonjour,toi";//test de split
  4. $tableau1= $data.split(',');
  5. alert($tableau1[1]);
  6. document.fichedep.villedepcal.value += $data+"\n";


 
avec la variable data1 la chaine est bien decoupee
avec data elle ne l'est plus

Reply

Marsh Posté le 08-07-2005 à 11:44:40    

quelques remarques:
 
i = document.fichedep.villedep.selectedIndex;  
-> C'est du javascript de l'an 2, pas compatible avec tout les browsers. Utilise plutot document.getElementById()?
 
Pourquoi commencer tes variables par des $ :??:
 
Et enfin ton probleme :  
 
$data = villedep[i];
 
Qu'est ce que 'villedep' ?


---------------
Posté depuis des chiottes, sales. Me gusta.
Reply

Marsh Posté le 08-07-2005 à 11:54:13    

villedep viens de listes deroulantes liées, c'ets le nom d'un select
 
en gros pour t'explique mon prog:
j'ai un tableau qui est dans un fichier txt, je le recupere et l'affiche dans des listes deroulantes ( c'ets un tableau avec 2 villes, et la deuxieme s'affichent en fonction de la premiere selectionnée). ca marche tres bien tant que je fait que afficher a l'ecran
 
qd je veux recuperer les valeurs ca me resort pX avec une "," puis le nom de la ville, moi je veux que le nom de la ville. px etant dans le tableau pour gerer les listes deroulantes ( le tableaux est utilise par d'autre prog et remis a jour en permanence, donc impossible a modifier)
 
 

Reply

Marsh Posté le 08-07-2005 à 11:58:50    

Ce que je voulais dire, c'est que ta variable villedep ne signifie rien dans ton code. Tu ne l'a pas associé à ton objet liste déroulante.
 
ex: si tu as

Code :
  1. <select id="machin" name="truc" >
  2. <option> </option> etc..
  3. </select>


 
ca ne sert a rien de faire dans ton code javascript:

Code :
  1. var data = truc[0];


 
il faut faire

Code :
  1. var bidule = document.getElementById('machin');
  2. var data = bidule[0];


 
Pour initialiser une référence à l'objet.
 
Enfin bref, de la programmation de base quoi.


---------------
Posté depuis des chiottes, sales. Me gusta.
Reply

Marsh Posté le 08-07-2005 à 11:58:50   

Reply

Marsh Posté le 08-07-2005 à 14:13:25    

qd j'utilise ta methode je recois comme valeur dans data:
[objet HTMLOptionElement]
 
voici le code dans javascript:

Code :
  1. var bidule = document.getElementById('villedep');
  2.      var data = bidule[0];
  3. alert(data);


 
et celui dans le php:

Code :
  1. <form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" name="fichedep" id="fichedep" onSubmit="return testsubmit()">
  2. <select name="villedep" id="villedep" onChange='javascript:filltheselect(this.name, this.value)'>
  3.    <script language="javascript">
  4.    for (i=0; i<villedep.length; i++){
  5.       document.write("<option value=\"" +villedep[i][0]+ "\">" +villedep[i][1]);}
  6.    </script>
  7. </select>
  8.     </select> <input type="submit" value="Ajouter" onClick="gopage('villeenregistre.php')"></td>
  9.  
  10.   <td><select name="villear" id="villear" >
  11.    <script language="javascript">
  12.    for (i=0; i<villear["p0"].length; i++)
  13.       document.write("<option value=\"" +villear["p0"][i][0]+ "\">" +villear["p0"][i][1]);
  14.    </script>
  15. </select>
  16. <input type="button" value="Calculer" onClick="launch(this.form)"><br>
  17. <input type="submit" value="Retour" onClick="gopage('identite.php')"> <br>   
  18.     <input type="submit" value="Valider" onClick="gopage('nouveaupdf.php')">
  19. </form>

Reply

Marsh Posté le 08-07-2005 à 14:15:43    

bah oui c'est normal.  
 
Si tu veux récupérer le text il faut faire (de mémoire)
 
var texte = combo[i].text;
 
Ou si tu a mis une value dans le tag <option>
 
var text = combo[i].value;
 
A vérifier
 


---------------
Posté depuis des chiottes, sales. Me gusta.
Reply

Marsh Posté le 08-07-2005 à 14:41:36    

heu je comprend pas tres bien, pour moi ca donnerai ca:
 
var data = villedep[i].text;
??
 
mais ca me retourne undefined

Reply

Marsh Posté le 08-07-2005 à 15:32:07    

Il est vraiment pas beau ton code.
Il manque le tag de fermeture </option>
Et dans ton cas c'est villedep[i].value je pense.


---------------
Posté depuis des chiottes, sales. Me gusta.
Reply

Marsh Posté le 08-07-2005 à 16:49:49    

desole je connais pas tres bien encor le javascript et le php, je m'y suis mis depuis peu en cherchant sur internet et il y a pas que des bons truc visiblement ( je parle de document.truc.bidule.value a remplacer par document.getElementById('  ') )

Reply

Marsh Posté le 08-07-2005 à 16:56:38    

Faut aussi que tu regardes un peu comment fonction HTML ;)


---------------
Posté depuis des chiottes, sales. Me gusta.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed