Avatar billede sub_zero Nybegynder
11. juni 2004 - 20:19 Der er 22 kommentarer og
1 løsning

Funktion til at disable form-felter

Hey!

Jeg har lavet en funktion til at disable/enable nogle form-felter, men den virker desværre ikke...

Her er koden til den:
function formdisable(thisform, field, amount) {
    checkboxname = field+"luk";
    if (thisform.checkboxname.disabled == true) {
            for (i=1;i<=amount;i++) {
                fieldname = field+i;
                thisform.fieldname.disabled = false;
            }
        } else {
            for (i=1;i<=amount;i++) {
                fieldname = field+i;
                thisform.fieldname.disabled = true;
            }
    }
};

Mine 4 input-felter hedder: infoman1, infoman2, infoman3 og infoman4
Min checkbox hedder: infomanluk

Jeg kører funktionen med onClick="formdisable2('document.aendrelinkform', 'infoman', 4);" på infomanluk

Men jeg får denne fejl:
Expression evaluated to null or undefined and is not convertible to Object: thisform.checkboxname

På forhånd tak for hjælpen!
Avatar billede sub_zero Nybegynder
11. juni 2004 - 20:25 #1
skal lige siges at nede ved onClick står der formdisable, og ikke formdisable2, som skrevet i min første post... udover det, kan jeg måske sige, at idéen med funktionen, er jeg vil have alle 4 input-felter disabled/enabled ved hjælp af den ene checkbox
Avatar billede the_ghost Nybegynder
11. juni 2004 - 20:32 #2
Prøv at ændre:

onClick="formdisable('document.aendrelinkform', 'infoman', 4);"

til

onClick="formdisable(document.aendrelinkform, 'infoman', 4);"

altså uden ''
Avatar billede sub_zero Nybegynder
11. juni 2004 - 20:35 #3
det giver samme fejl
Avatar billede the_ghost Nybegynder
11. juni 2004 - 20:44 #4
Har du prøvet at give checkboxen en id, og så bruge thisform.getElementById('checkboxname') istedet
Avatar billede the_ghost Nybegynder
11. juni 2004 - 20:45 #5
eller prøv med document.thisform.checkboxname
Avatar billede sub_zero Nybegynder
11. juni 2004 - 20:47 #6
så får jeg fejlen: Expression did not evaluate to a function object: thisform.getElementById
Avatar billede sub_zero Nybegynder
11. juni 2004 - 21:01 #7
har også prøvet med thisform.getElementById(checkboxname) istedet..
Avatar billede grunken Nybegynder
11. juni 2004 - 21:09 #8
kan man ikke måske få lov til at se lidt mere fra den side hvor den er i brug ?

evt. formen :o)
Avatar billede grunken Nybegynder
11. juni 2004 - 21:12 #9
aha, ved nærmere eftertanke, så prøv lige at ændre denne linie

if (thisform.checkboxname.disabled == true) {

til

if (thisform.elements[checkboxname].disabled == true) {

;o)
Avatar billede grunken Nybegynder
11. juni 2004 - 21:16 #10
og selvfølgelig samme procedure ved fieldname :o)
Avatar billede the_ghost Nybegynder
11. juni 2004 - 21:18 #11
og så skal du nok også ændre
if (thisform.elements[checkboxname].disabled == true) {

til

if (thisform.elements[checkboxname].checked != true) {
Avatar billede sub_zero Nybegynder
11. juni 2004 - 21:21 #12
grunken, kan lige smide et eksempel op om to minutter..

det er jo ikke checkboxen som skal skifte imellem at være checked / ikke-checked... det er de 4 input-felter som skal skifte rundt..
Avatar billede the_ghost Nybegynder
11. juni 2004 - 21:24 #13
Nej, men de bruger ved checkboxen til at se om input felterne skal være disabled eller ej...
Hvis checkboxed er checked, så skal de ikke være disabled og omvendt
Avatar billede sub_zero Nybegynder
11. juni 2004 - 21:24 #14
Avatar billede sub_zero Nybegynder
11. juni 2004 - 21:25 #15
når checkboxen er checked, skal felterne være disabled, og omvendt..
Avatar billede the_ghost Nybegynder
11. juni 2004 - 21:26 #16
Ja, så skal du også bruge

if (thisform.elements[checkboxname].checked != true) {

istedet for

if (thisform.elements[checkboxname].disabled != true) {
Avatar billede the_ghost Nybegynder
11. juni 2004 - 21:28 #17
Avatar billede sub_zero Nybegynder
11. juni 2004 - 21:31 #18
Jeg takker! - gider du droppe et svar, så jeg kan overføre dine point
Avatar billede the_ghost Nybegynder
11. juni 2004 - 21:32 #19
Det må være grunken, der skal have dem ;)
Avatar billede grunken Nybegynder
11. juni 2004 - 21:33 #20
det er minimum en 50/50 :o)
Avatar billede the_ghost Nybegynder
11. juni 2004 - 21:33 #21
Så laver vi en 50/50 :)
Avatar billede sub_zero Nybegynder
11. juni 2004 - 21:35 #22
uhm, det ved jeg sku ikke hvordan man gør, men jeg kan vel på en eller anden måde give jer begge point for det :)
Avatar billede grunken Nybegynder
11. juni 2004 - 21:36 #23
Jeg klarer mig helt sikkert uden :o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester