24. maj 2000 - 05:41Der er
11 kommentarer og 2 løsninger
Event handling - navn på onChange form element
Jeg har følgende kode, som virker. Med min alert(e.type) får jeg hvilket event der skete (I dette tilfælde altid -change). Hvordan får jeg navnet på det form element der triggede eventet onChange ? Det skal ikke være parameter overført !
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
I stedet for: document.form.input.value=document.form.select.options[document.form.select.selectedIndex].value; (som egentlig burde være document.minform.input.value=document.minform.dfwfselect.options[document.minform.dfwfselect.selectedIndex].value; i ovenstående eksempel)
erstat det med document.minform.input.value=document.minform.dfwfselect.value;
(minform og dfwfselect er omdøbt til det for at vise at det er dem det drejer sig om og ikke tag-typen)
michaelras >> e.target.name var præcis det jeg ledte efter.
Jeg vil helst undgå at bruge onChange direkte i select taggen, og i stedet bruge event handling på dokumentet <SCRIPT> document.form.select.onChange=move; </SCRIPT> Har du flyttet det til taggen, fordi ovenstående ikke kan laves i IE ?
Grunden til at jeg flyttede onchange til selve tagget var at i Netscape hedder det object.onChange, men i IE hedder det object.onchange, altså store/små bogstaver hvilket IKKE er det samme - latterligt, hvorfor kan de dog ikke bare blive enige!! Også på den måde skal du i function move() erstatte e.???? med event.???? (og fjerne e i move(e))
og function move() { if (event.srcElement) alert(event.srcElement.name) else alert(event.target.name) document.form.input.value=document.form.select.options[document.form.select.selectedIndex].value; }
Det med: erstatte e.???? med event.???? (og fjerne e i move(e))
er i hvert fald nødvendig i IE, ved ikke om Netscape automatisk videresender event-objektet til funktionen så e i move(e) referere til event, i så fald kan man jo bare i første linie af move checke om det er IE og så sige e = event
Hmm, lyder underligt at Netscape godtager det med lutter små bogstaver... Men det er da rart det virker
Synes godt om
Ny brugerNybegynder
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.