gizmo45 Skrevet 26. juni 2003 Del Skrevet 26. juni 2003 Hei Jeg har en onclick-event i min radiobutton, som deaktiverer en bestemt tekstboks. Slik: <form name="bestilling"> <input type="radio" name="bestilling[radio]" onclick="document.bestilling.bestilling[txt].disabled = true"> <input type="text" name="bestilling[txt]"> Dette fungerer imidlertid ikke, men hvis jeg derimot fjerner hakeparantesene fra navnet på tekstboksen, funker det utmerket. Går det faktisk ikke an å bruke slike i navn i denne forbindelse? Jeg har gjort dette for de jeg har en del forms, og det blir mer oversiktlig på denne måten. Sikkert noen som har et svar å komme med her! Lenke til kommentar
christt Skrevet 26. juni 2003 Del Skrevet 26. juni 2003 Problemet er denne setningen: document.bestilling.bestilling[txt].disabled bestilling[txt] vil for javascript tolkeren fremstå som et array der arrayet heter bestilling og indexen ligger i variabelen txt. Lenke til kommentar
gizmo45 Skrevet 26. juni 2003 Forfatter Del Skrevet 26. juni 2003 ok, så jeg må altså fjerne alle "[" og "]" i navnene? Lenke til kommentar
gizmo45 Skrevet 26. juni 2003 Forfatter Del Skrevet 26. juni 2003 Ahh.. nå blir jeg frustrert. Skulle bare lage en liten funksjon som tar imot element-navnet jeg angir og så disable denne, men neida... Her er funksjonen min: <script language="JavaScript"> function toggle_disable(elementname) { document.bestilling.elementname.disabled = true; } </script> Og så loader jeg denne med onclick="toggle_disable(txtbox1)" Virker som om "elementname" ikke brukes som en variabel i funksjonen, men leter etter et element med navnet "elementname". Gjør jeg slik fungerer det imidlertid: <script language="JavaScript"> function toggle_disable() { document.bestilling.txtbox1.disabled = true; } </script> og så onload="toggle_disable()" men da er liksom litt av hensikten med funksjonen borte Lenke til kommentar
b-urn Skrevet 26. juni 2003 Del Skrevet 26. juni 2003 Har ikke sett så nøye på koden din, men denne måten å adressere på virker hos meg: function fncDisable(strName) { document.tutta.elements[strName].disabled= true; } Lenke til kommentar
enden Skrevet 26. juni 2003 Del Skrevet 26. juni 2003 ja, grunnen til at det ikke virker er at js leter etter et element som heter elementsname slik du definerer det. elements[var] er riktig Lenke til kommentar
gizmo45 Skrevet 26. juni 2003 Forfatter Del Skrevet 26. juni 2003 Har ikke sett så nøye på koden din, men denne måten å adressere på virker hos meg: function fncDisable(strName) { document.tutta.elements[strName].disabled= true; } Der ja, endelig! Men har du (eller noen andre) tips om hvordan jeg kan utvide funksjonen slik at man kan disable flere elementer samtidig? F. eks. ved å adskille de med et semikolon. onclick="fncDisable(txtBox1;txtBox2)" Lenke til kommentar
b-urn Skrevet 26. juni 2003 Del Skrevet 26. juni 2003 Slik: function fncDisable(strArray) { var strInput = new String(strArray); var str_Array = strInput.split(";"); for(var i=0; i<str_Array.length;i++) { document.tutta.elements[str_Array[i]].disabled= true; } } Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå