fredrikskMedlem sedan maj 2001210 inlägg
Nu försöker jag att sätta texten på en Select komponent så här...
document.form.fotoNo.options.text= "Foto" + i
Men serrru den går han inte på... Vad gör jag för fel nurå?
------------------
hmm.. äh det får stå så här tills jag kommer på nått bättre...
JohnsenMedlem sedan juli 2000718 inlägg
Känns det nödvändigt att dubbelpostera?
Om du visar din kod där skript och formulär ingår, skall vi nog komma fram till en lösning.
------------------
- J-O-H-N-S-E-N -
------------------
fredrikskMedlem sedan maj 2001210 inlägg
Jo tanken var att jag skulle fimpa den andra tråden men det gick visst inte så bra... Var inte tänkt att det skulle bli en dubbelpost inte =)
skall försöka förtydliga det hela lite.. Jo alltså jag har ett formulär som heter form som ligger i ett lager som heter lager. Sedan har jag ett javascript (funktion) som skall uppdatera texten som visas på en selectkomponent som heter fotoNo. Jag försöker göra detta så här:
document.form.fotoNo.options.text= "Foto" + (i+1);
Vill alltså att texten Foto + en siffra skall visas på platsen på select komponenten.. Sedan skall denna loopa igenom ett antal gånger och för varje varv lägga till en ny text (Foto + en ny siffra)på nästa plats. men nånting är riktigt fel...
Hela loopen ser ut så här:
for(i=0; i<noOfFotos; i++){
fotografier = new Image();
fotografier.src = path + serie + "thumb" + i + ".jpg";
document.form.fotoNo.options.text= "Foto" + (i+1); //sätter text i fotoVal rutan
Hoppas det blev lite tydligare nu. =)
------------------
hmm.. äh det får stå så här tills jag kommer på nått bättre...
JohnsenMedlem sedan juli 2000718 inlägg
Det är nog inget fel på din loop, däremot undrar jag om antal options i selecten stämmer överens med noOfFotos i loopen.
Kolla nedanstående alternativ.
<script>
function fyll_i1(){
var sel= (document.layers)? document.layers["lager"].document.foo.bar.options : document.foo.bar.options;
var antal = sel.length; //viktigt att veta!!!
for(var i=0; i<antal; i++){ sel[i].text= "Foto"+(i+1); }
}
</script>
<div id="lager" style="position:absolute; left:10;">
<a href="javascript:fyll_i1();">Fyll i</a>
<form name="foo">
<select name="bar">
<option value="0"> . </option>
<option value="1"> . </option>
<option value="2"> . </option>
</select>
</form>
</div>
<script>
function fyll_i2(){
var sel= (document.layers)? document.layers["lager2"].document.foo1.bar1.options : document.foo1.bar1.options;
var antal = 10;
sel.length = antal; //Sätt antal options.
for(var i=0; i<antal; i++){ sel[i].value= i; sel[i].text= "Foto"+(i+1); }
}
</script>
<div id="lager2" style="position:absolute; left:100;">
<a href="javascript:fyll_i2();">Fyll i</a>
<form name="foo1">
<select name="bar1">
<option>Blankt</option>
</select>
</form>
</div>
------------------
- J-O-H-N-S-E-N -
------------------
fredrikskMedlem sedan maj 2001210 inlägg
Ok...
Har jag förstått saken rätt när jag säger att man måste sätta hur många alternativ man måste ha innan man fyller i dem? Och sen måste jag ange vilket lager formuläret ligger i?
------------------
hmm.. äh det får stå så här tills jag kommer på nått bättre...
fredrikskMedlem sedan maj 2001210 inlägg
Hmm.. knepigt det här.. får inte ordning på det riktigt...
Jag har lagt upp sidan här... http://home.bip.net/fredrikskoldheimer/testproblem2/test.htm
Blir mycket taksam för all hjälp =)
------------------
hmm.. äh det får stå så här tills jag kommer på nått bättre...
fredrikskMedlem sedan maj 2001210 inlägg
Jag löste det!!!
Tack för all hjälp... ett steg närmare den totala lösningen =)
------------------
hmm.. äh det får stå så här tills jag kommer på nått bättre...
fredrikskMedlem sedan maj 2001210 inlägg
Ok... nu har jag kört fast igen... =/
Nu försöker jag animera lager. Men nått funkar inte som det är tänkt...
Jag har 2 lager som skall animeras. De heter foto1layer och foto2layer
sen försöker jag så här...
function moveLayers(move)
{
if(move == "left")
{
for(i=0; i<322 ; i++)
{
document.foto1layer.pageX = document.foto1layer.pageX - 1;
document.foto2layer.pageX = document.foto2layer.pageX - 1;
}
}
if(move == "right")
{
for(i=0; i\<322 ; i++)
{
document.foto1layer.pageX = document.foto1layer.pageX + 1;
document.foto2layer.pageX = document.foto2layer.pageX + 1;
}
}
}
Jag får felmeddelandet att document.foto1layer är inte ett ojekt.
Hela koden kan beskådas på http://home.bip.net/fredrikskoldheimer/testproblem2/test.htm
------------------
hmm.. äh det får stå så här tills jag kommer på nått bättre...