21. april 2001 - 21:52Der er
16 kommentarer og 1 løsning
Suk, jeg er træt
Jeg har tømmermænd og er overhovedet ikke i stand til at se hvad jeg gør galt her.
<head> <script language=\"JavaScript\">
function antal(formy, navn, pris) { var hvorMange=formy.navn.selectedIndex; var navnIalt = navn + \'Ialt\'; document.formy.navnIalt.value = formy.navn.options[hvorMange].value*pris; } </SCRIPT> </head>
Med version 7 af TeamShare tager Lector næste skridt og bygger en platform for AI-agenter, der i højere grad kan følge medarbejderen gennem hele arbejdsprocessen.
Det er mig, der læser som en torsk igen...! :( Skriv scriptet om til:
function antal(formy, navn, pris) { var hvorMange=formy[navn].selectedIndex; var navnIalt = navn + \'Ialt\'; formy[navnIalt].value = formy[navn].options[hvorMange].value*pris; }
...og så sæt de values på den anden select, du bruger i script\'et ;) /mvh
I denne linie: document.formy.navnIalt.value = formy.navn.options[hvorMange].value*pris; forudsættes det, at en option - \'formy.navn.options[hvorMange]\' - har en værdi...det har den kun, hvis du har skrevet en.
Nej, Jakob...du har kaldt med det rigtige objekt, ved \'this.form\' på onchange-event\'en. Derfor ligger objektet - og ikke formnavnet - i \'formy\'. Derfor skal du bare sige \'fomy\' og ikke \'document.formy\' ;) Desuden kalder jeg netop med array-notation i mit eksempel. /mvh
Udover jeg ikke helt har forstået præcist hvad formy[navnIalt] betyder så har jeg lige et tillægsspørgsmål.
Hvis i kigger kan i se at jeg har brugt både disable og readonly. Tog begge med som helgardering. Testede det i IE 5.5. og Netscape 4.73 og 6.01. Kan ikke huske hvad der passede til hvad, men er det virkeligt nødvendigt med begge??
ikke nødvendigt. begge attributter er i html4 standarden og begge forhindrer brugeren i at skrive noget der. Men der er stadig mange pre-HTML4 browsere så jeg ville nok erstatte readonly med en onfocus=\"this.blur()\" event der er lidt mere baguskompatibel.
notationen arraynavn[0] kender du urvivlsomt allerede, den mindre kendte er at nar du har et array af objects og de objekter indeholder en navn variabel kan man adressere det objekt ved at bruge værdien i navn variablen som index i arrayet.
så document.forms[0] peger på din form formy (tidligere form1) document.forms[\"formy\"] peger også på formen document.forms.formy peger endnu engang på formen
.-notationen er en tredie måde at slå op i arrayet der kun kan bruges når man ved præcis hvad navnet er og kan skrive bogstaverne i det. Desværre tillader brovserne at man udelader arraynavnet ( forms ) for diverse standad arrays og det forplumrer billedet noget (men sparer en del skriveri) du kan skrive: document.formy.test1.options[hvorMange].value men det betyder i virkeligheden: document.forms.formy.elements.test1.options[hvormange].value
der er en fjerde måde: document.forms.0 i nogen javascript versioner giver det igen igen en pegepind til den form (men den virker ikke altid)
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.