Avatar billede jps2mt Nybegynder
01. marts 2004 - 15:21 Der er 10 kommentarer og
1 løsning

is null or not an object

Hvad er der galt med den her funktion:

function chkData() {
  if (document.getElementsByName["brugernavn"].value != "" && document.getElementsByName["password1"].value != "" && document.getElementsByName["password2"].value != "" && (document.getElementsByName["password1"].value == document.getElementsByName["password2"].value) && document.getElementsByName["pakke"].value != "0" && document.getElementsByName["fornavn"].value != "" && document.getElementsByName["efternavn"].value != "" && document.getElementsByName["adresse1"].value != "" && document.getElementsByName["postnum"].value.length == "4" && document.getElementsByName["email"].value != "") {
  document.order.vidre.disabled = false;
  } else {
  document.order.vidre.disabled = true;
  }



Den giver bare document.getElementsByName.brugernavn.value is null or not an object...Vil gætte på at alle de andre gør det samme, men den stopper jo afviklingen af scriptet efter 1. fejl...
Avatar billede mm12010 Nybegynder
01. marts 2004 - 15:23 #1
document.getElementsByName.brugernavn.value

skal være:

document.FORMNAVN.brugernavn.value

<form name="FORMNAVN" ... >
Avatar billede mm12010 Nybegynder
01. marts 2004 - 15:25 #2
eller:

document.getElementById('brugernavn').value

<input id="brugernavn" ... >
Avatar billede nute Nybegynder
01. marts 2004 - 15:33 #3
jps2mt >> getElementsByName er ikke en eksisterende metode. Man har noget der hedder 'getElementsByTagName' og den hiver fat i alle elementer af den type du angiver:

document.getElementsByTagName("input")

returnerer array af alle <input> elementer på din side.

du søger nok 'getElementById()' som tager id'et til et element på din side. Dette kræver dog at dit element har et 'id' attribut (som mm12010 har postet)

/nute
Avatar billede jps2mt Nybegynder
01. marts 2004 - 15:34 #4
Hmmm...Tildels rigtigt...

document.getElementByName("brugernavn").value løste det...Var bare overbevist om at det var [] der skulle omkring...
Avatar billede jps2mt Nybegynder
01. marts 2004 - 15:37 #5
nute > Hvorfor er den ikke eksisterende...Den står da fint som en mulighed i FP 2003...
Avatar billede nute Nybegynder
01. marts 2004 - 15:54 #6
FP ??? uha ... jeg ville ikke stole på FP om jeg blev tvunget til det :o]

Den er ikke eksisterende, fordi den ikke er en del af DOM ;o] Troede jeg ... jeg kan godt se at den er en del af Gecko DOM:

http://www.mozilla.org/docs/dom/domref/dom_doc_ref49.html

men den findes ikke i MSXML SDK (som jeg kigget i til at starte med) ... my bad :o]

/nute
Avatar billede jps2mt Nybegynder
01. marts 2004 - 17:22 #7
*G* Okay...

Noget helt andet, har godt nok ikke meget med det her at gøre...

Hvorfor vil den ikke disable den knap?? (document.order.vidre)

Eller skal jeg oprette et nyt spm. og smide det deri?!
Avatar billede nute Nybegynder
01. marts 2004 - 17:51 #8
jeg ville nok bruge 'getElementById' hvis jeg var dig. Hvis du alligevel kun skal hænte det ene felt der hedder 'brugernavn', så giver det ingen mening at bruge 'getElementsByName'.

skift denne linje.

document.order.vidre.disabled = false;

ud med

document.getElementById( "vidre" ).disabled = false;

(denne kræver at du har sat 'id' attribut på din knap)

eller alternativt:

document.forms['order'].vidre.disabled = false;

/nute
Avatar billede jps2mt Nybegynder
01. marts 2004 - 18:05 #9
Okay...Så virker det...
Avatar billede nute Nybegynder
01. marts 2004 - 18:08 #10
fino ... så smider jeg uopfordret et svar ;o]
Avatar billede nute Nybegynder
01. marts 2004 - 18:10 #11
eh ... svar
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