BendroMedlem sedan jan. 20011 439 inlägg
Jag ber någon att ha förbarmande med mig. Jag har verkligen försökt, men av någon anledning verkar det vara stört omöljigt för mig att greppa logiken i JavaScript. Har försök leta i arkivet och bläddra i böcker, men lyckas inte få något att fungera. Antingen är jag för dum eller så är jag för trött (kan ju alltid skylla på att jag är så dum att jag jobbar fast jag är sjuk)...
Sitter med följande problem: har en sida som loopar ut bilder med tillhörande text. Användaren skall kunna ändra texten och flytta bilden till en annan kategori. Jag hade tänkt att användaren skulle få klicka i en checkbox om han önskar byta kategori, och i så fall skulle en select-lista visas med tillgängliga kategorier.
Så det jag behöver lösa är hur jag styr ett lager med hjälp av en checkbox. Sedan vet jag inte om det kommer att fungera så som jag tänkt...d.v.s att select-listan blir inaktiverad om lagret är släckt. Är det inte så utan den ligger kvar och funkar som en slags hidden-fält så är det bara att lägga ner tanken.
Jo en sak till...det jag jobbar med är ett admin-verktyg som är anpassat för IE efter kundens önskemål, så för en gångs skull kan vi glömma allt vad Netscape heter.
------------------
Oflexibilitet är varumärket för det instängda sinnet
JojoxxMedlem sedan juni 20004 306 inlägg
Selectlistan kommer ju fortfarande att ligga kvar i formuläret, även om du inte visar den. Men du kan ju "nollställa" den, så att när du gömmer den återgår den till ex. första valet.
<script language="JavaScript" type="text/javascript">
function changeStyle(Id,Property,Value){
if (document.all){
eval('document.all[Id].style.'+Property+'="'+Value+'"');
} else if (document.layers){
eval('document.layers[Id].'+Property+'="'+Value+'"');
} else if (document.getElementById){
eval('document.getElementById(Id).style.'+Property+'="'+Value+'"');
}
}
</script>
<form>
Visa/dölj : <input type="checkbox" name="bar" checked onClick="(this.checked)?changeStyle('foo','display','inline'):changeStyle('foo','display','none');"><br>
<select name="foo"><option>a<option>b</select>
</form>
------------------
/ J
BendroMedlem sedan jan. 20011 439 inlägg
Tackar..
Testade först i ett separat dokument och det funkade fint..fast jag skulle helst vilja att checkboxen inte var ikryssad från start och listan alltså inte synlig som default.
Men när jag väl la in koden i filen den skulle ligga fick jag helt plötsligt ett felmeddelande:
'document.all[...].style' är inte ett objekt
Det enda jag ändrat är namnet på select-listan. Annars har jag kopierat och klistrat in koden för att inte riskera stavfel etc. Varför funkar den bra i ett dokument och inte i ett annat??
------------------
Oflexibilitet är varumärket för det instängda sinnet
[Redigerat av Bendro den 22 okt 2001]
[Redigerat av Bendro den 22 okt 2001]
JojoxxMedlem sedan juni 20004 306 inlägg
För att ha listan dold från start:
<script language="JavaScript" type="text/javascript">
function changeStyle(Id,Property,Value){
if (document.all){
eval('document.all[Id].style.'+Property+'="'+Value+'"');
} else if (document.layers){
eval('document.layers[Id].'+Property+'="'+Value+'"');
} else if (document.getElementById){
eval('document.getElementById(Id).style.'+Property+'="'+Value+'"');
}
}
</script>
<form>
Visa/dölj : <input type="checkbox" name="bar" onClick="(this.checked)?changeStyle('foo','display','inline'):changeStyle('foo','display','none');"><br>
<select name="foo" style="display:none;"><option>a<option>b</select>
</form>
Ändrar du namnet på listan "foo" måste du även ändra i onClick-eventet för checkboxen. Även där har du 2 referenser till namnet; 'foo'.
------------------
/ J
BendroMedlem sedan jan. 20011 439 inlägg
sorry..det var jag som var otydlig. Jag hade givetvis bytt ut alla foo...
Test-filen funkar fint...samma fel i min applikation.
------------------
Oflexibilitet är varumärket för det instängda sinnet
[Redigerat av Bendro den 22 okt 2001]
[Redigerat av Bendro den 22 okt 2001]
JojoxxMedlem sedan juni 20004 306 inlägg
Kan du ge en länk till sidan slipper du posta hela koden här?
------------------
/ J
BendroMedlem sedan jan. 20011 439 inlägg
http://www.sandobetong.se/admin/bildarkiv.asp
------------------
Oflexibilitet är varumärket för det instängda sinnet
[Redigerat av Bendro den 22 okt 2001]
[Redigerat av Bendro den 22 okt 2001]
BendroMedlem sedan jan. 20011 439 inlägg
Kom på vad som strular..jag loopar ju ut bilderna och lägger en select vid varje bild..alltså blir det flera select-listor med samma namn.
Testade att lägga in en räknare med ASP så det blev foo1, foo2 etc.. och då funkade det. Frågan är bara hur jag skall lyckas hämta upp rätt värde m.h.a request.
Skulle man vid submit lägga in värdet i en ny variabel t.ex?
------------------
Oflexibilitet är varumärket för det instängda sinnet
[Redigerat av Bendro den 22 okt 2001]
BendroMedlem sedan jan. 20011 439 inlägg
Ville bara tacka för hjälpen och tala om att jag löst det. La en räknare i varje varv på loopen. Namnet på selecten blev sedan foo+värdet på räknaren. La även in värdet på räknaren i ett hidden fält så jag kunde återskapa namnet på nästa sida för requesten.
------------------
Oflexibilitet är varumärket för det instängda sinnet