[Javascript]modifier la valeur d'un objet

Fermé
bacus - 24 janv. 2007 à 15:04
 Rousss - 26 mars 2008 à 17:47
bonjour,

J'ai une serie de Select dans ma page donc je veux modifier certaines propriétés notament la valeur.
Chacun de mes Select porte un nom du type Sel_X ou X est un index (j'ai donc des Sel_0, Sel_1 ...)
J'ai trouvé la commande suivant :

Sel_0.options[Sel_0.selectedIndex].value = 10;

qui me permet de changer la valeur.
Mon problème est de positionner cette ligne dans une boucle du style :

for (X=0; X<10; X++)
{

Sel_X.options[Sel_X.selectedIndex].value= 0;

}

En effet pas moyen de remplacer Sel_X par Sel_0 au premier tour pui Sel_1 au second et aussi de suite :(

J'ai toujours Sel_X qui biensur n'existe pas

merci de votrre aide
le

14 réponses

kij_82
Messages postés
4088
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
856
26 janv. 2007 à 09:56
C'est con... j'ai trouvé un truc pour contourner ton problème, tellement con ^^ comment ne pas y avoir penser avant :p

Voici le truc : le principe est de connaitre le nom de base de ton élément à prendre (liste) ainsi que le nombre de ces élements pour la boucle. Tout ca en paramètre d'une fonction JS, ou dans le corps d'un autre script peut importe et tu fais ceci :
<script language="javascript">
function popo ( libelle, nb ){
   var oDiv = null;
   for (X=0; X<nb; X++) { 
      oDiv = document.getElementById(libelle+X);
      oDiv.options[oDiv.selectedIndex].value= 0; 
   } 
}
</scritp>


Et tu n'as plus qu'à appeler ta fonction depuis javascript ou php.

Bien sur, il ne faut pas oublier de mettre un identifiant pour chacune de tes listes, ayant le même "corps" mais un numéro différent :
<select id="liste1" ...>...</select>
<select id="liste2" ...>...</select>


Bon courage pour la suite.

ps : pas testé le script donc il se peut qu'il y ai des erreurs.
2
C'est bon j'ai trouver (merci Junq), mais sa ne marche pas sur internet explorer... que puis-je faire pour que la video se modifie aussi sur internet explorer

<!bouton pour lancer la fonction!>
<input type="button" value="change video" onclick="charge_vid('http://www.dailymotion.com/swf/x32mgo')">

<!la video a changer!>
<center>
<div name="vid" class="gauche">
<object width="420" height="252" name="lec">
<param id="vid1" name="movie" value="https://www.dailymotion.com/embed/video/x3hj51"></param>
<param name="allowFullScreen" value="true"></param>
<param name="allowScriptAccess" value="always"></param>
<embed id="vid" src="https://www.dailymotion.com/embed/video/x3hj51" type="application/x-shockwave-flash" width="420"

height="252" allowFullScreen="true" allowScriptAccess="always"></embed></object><br /><b></a></i></div>
</center>



<!le script!>
<script language="Javascript">
function charge_vid(i)
{
var d=document.getElementById("vid");
d.src=i;
d.style.display="none";
alert("video charger ;)");
d.style.display="";
}
</script>
1
personne ne sais ?
0
kij_82
Messages postés
4088
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
856
25 janv. 2007 à 12:23
Le sujet a déjà été traité sur ce forum mais je n'arrive pas a remettre la main sur la discution en question et je ne me souviens plus non plus de la solution (toute simple pourtant :s)

A suivre...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Erf j'ai pas bolle .. tu te souviens pas :/

Je cherche depuis plusieur jour sans succé.
Ca doit tenir a pas grand chose dans la facon d'ecrire le code mais comment ??
0
kij_82
Messages postés
4088
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
856
25 janv. 2007 à 15:55
Arf non désolé je vois bien en PHP comment faire en fait, mais pas en javascript.

Peut-être quelqun de plus compétent en javascript... :)
0
J'ai fait le tour de tous les poste que j'ai trouve sur le forum et rien :(
0
Reivax962
Messages postés
3671
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 006
26 janv. 2007 à 10:05
Tu peux aussi faire :
for (X=0; X<10; X++)
{
  eval("Sel_"+X+".options[Sel_"+X+".selectedIndex].value= 0;");
}
0
kij_82
Messages postés
4088
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
856
26 janv. 2007 à 10:24
Voilà la fameuse réponse, merci Xavier :)
0
Desole je suis nouveau dans la programmation, sur mon site, j'affiche des video daily motion du type:

<div><object width="420" height="336"><param name="movie" value="http://www.dailymotion.com/swf/x3u7kk&v3=1&related=1"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed src="http://www.dailymotion.com/swf/x3u7kk&v3=1&related=1" type="application/x-shockwave-flash" width="420" height="336" allowFullScreen="true" allowScriptAccess="always"></embed></object><br /><b><a href="http://www.dailymotion.com/video/x3u7kk_mfda-4x05-la-phalange-du-singe-part_fun">MFDA 4x05 La Phalange Du Singe (part1)</a></b><br /><i>envoyé par <a href="http://www.dailymotion.com/Kinay90">Kinay90</a></i></div>

j'aurais aimer changer la video (pour eviter de trop en afficher), a l'aide de java, je pense que cet exemple peut m'aider, mais je n'arrive pas a l'appliquer:

<script language="Javascript">
function code()
{
var oDiv = null;
oDiv = document.getElementById("movie");
oDiv.value="http://www.dailymotion.com/swf/x3wj9l";
}
</script>


<input type="button" value="Liste" onclick="javascript:code()">

J'ai esssayer d'autre code, mais...sans succes
0
j'ai essayer une autre version :P

mon script


<script language="Javascript">
function code()
{
alert("ok");

var d=null; //devrais-je le declarer autrement???
d=document.vid.lec.movie; //je sais pas si sa fonctionne sa :P
d.value="https://www.dailymotion.com/embed/video/x2z9j3"; //la nouvelle valeur, la nouvelle video donc
alert("fait");
}
</script>

<input type="button" value="Liste" onclick="Javascript:code()"> //appel de ma fonction

<center> //la video de base
<div name="vid"><object width="420" height="252" name="lec"><param name="movie"

value="https://www.dailymotion.com/embed/video/x3hj51"></param><param name="allowFullScreen" value="true"></param><param

name="allowScriptAccess" value="always"></param><embed src="https://www.dailymotion.com/embed/video/x3hj51"

type="application/x-shockwave-flash" width="420" height="252" allowFullScreen="true"

allowScriptAccess="always"></embed></object><br /><b>>ubi</a></i></div>
</center>
0
Reivax962
Messages postés
3671
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 006
12 févr. 2008 à 14:29
Bonjour,

Je ne sais pas ce qu'il en est pour IE7, mais IE6 ne gérait pas bien la distinction entre Name et Id d'un élément...
Donc je te propose de supprimer le name="vid" qui est sur ton <div>.

Pas sûr que ça change quoi que ce soit, mais c'est une possibilité...

Xavier
0
Utilisateur anonyme
12 févr. 2008 à 14:39
Bonjour,
merci d'aller voir sur cette convers. et de m'aider si possible
bonne journée
0
malheureusement, sa n'a rien changer....mais merci :)

J'ai trouver encore une nouvelle chose, utiliser un fichier source java,
mais il semble que sa ne serve qu'au chargement de la page...

Une foi la page charger, ie pose probleme avec le flash si j'ai bien compris,
donc, pour modif c'est ... peu etre impossible :'(, mais rien est impossible :P

Aider moi plz :D
0
Reivax962
Messages postés
3671
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 006
13 févr. 2008 à 10:27
Attention, tu parles de Java depuis le début, mais cela n'a à peu près rien à voir : toi tu fais du JavaScript, c'est différent !
0
Oui j'ai abrevier desoler, mais bon c'est bien le sujet du topic :D
apparemment personne ne sait...
0