22. august 2001 - 13:18Der er
24 kommentarer og 2 løsninger
Event handling
Hej.
Jeg har et problem med, at jeg ikke kan komme til form eller submit tagget i en formular. Derfor må jeg benytte en event-handler på en anden måde end ellers.
Koden:
<SCRIPT language=vbscript> function form1_onsubmit() if noget then form1_onsubmit = true else form1_onsubmit = false end if end function </SCRIPT>
- virker på den måde jeg vil have. Men sitet understøtter version 4 browsere, også NS og den kan ikke læse vbscript.
Spørgsmålet er så om nogen kan oversætte ovenstående til funktionel javascript som tilmed virker i alle vers. 4 browsere.
<!--<SCRIPT language=\"JavaScript\" TYPE=\"text/javascript\"> function form1_onsubmit(){ return false; } </SCRIPT>--> <SCRIPT LANGUAGE=vbscript> <!-- Dim Seen, Time Dim StartTime, EndTime Seen = false
function form1_onsubmit() if Seen then document.form1.usyn.value = cstr(setTime(false)) form1_onsubmit = true else form1_onsubmit = false end if end function
sub see(link) Seen = true setTime true window.open link,\"\",\"\" end sub
function setTime(start) if start then StartTime = timer else EndTime = timer setTime = (EndTime-StartTime) end if end function --> </SCRIPT>
du har ikke mulighet til å omskrive fx ditt <form> tag, men du vil legge til et script i koden som fanger selve submit\'en til formularet.
Hvis dette er tilfelle, så kan jeg si at det ikke finnes en event som fanger submit (på samme måte som en event kan fange et tastetrykk). For å kunne fange submit\'en av formularet, så er du *nødt* til å bruke attributten \'onSubmit=\"\"\' i ditt <form> tag
jeg kan ikke skrive det klarere enn det jeg har gjort:
*For å kunne fange submit\'en av formularet, så er du *nødt* til å bruke attributten \'onSubmit=\"\"\' i ditt <form> tag*
Med andre ord:
Du kan *ikke* fange en \"onSubmit\" (på klienten) med hverken VBScript, JScript eller Javascript UTEN å benytte attributten \'onSubmit=\"\"\' i ditt <form> tag !!!
Igjen med andre ord:
For å kunne fange den \"event\" som du ønske (som teknisk sett ikke er en event), så er du nødt til å \"fysisk\" skrive onSubmit=\"[noe JavaScript];\" i ditt <form> tag sånn at det kommer til å se fx sånn ut:
oki...du har faktisk rett :-) (så lærte jeg noe nytt idag også :-) ). Men så omskriver jeg bare disse linjene:
\"Med andre ord:
Du kan *ikke* fange en \"onSubmit\" (på klienten) med hverken VBScript, JScript eller Javascript UTEN å benytte attributten \'onSubmit=\"\"\' i ditt <form> tag !!! \"
Til dette:
\"Med andre ord:
Du kan *ikke* fange en \"onSubmit\" (på klienten) med Javascript UTEN å benytte attributten \'onSubmit=\"\"\' i ditt <form> tag !!! \"
Men hvad med at sætte den som ny metode på formen -- kan ikke gennemskue om det \'bare\' virker at sætte attributten onSubmit (det er jo egentlig en slags event) ...
<ole> roenving >> den tror jeg ikke holder i NS4.x :)
Til gengæld må man kunne lave noget event-capturing på dokumentets onmousedown - og så aftaste event.srcElement.value i IE og mon ikke det er e.target.value i NS...(?) Hvis denne værdi er det samme som submit-knappens tekst, ved vi, formen er ved at blive fyret af. Advarsel: Det er ganske utestet, men måske noget at arbejde videre med :) /mvh </bole>
...om så man kan sætte onsubmit-handleren på denne måde i NS4.x, ved jeg ikke. Jeg sidder ikke på min egen maskine, så jeg har ikke en NS at teste i. Men jeg tror det :) /mvh
function document.onmousedown(){ var eSrc=window.event.srcElement; alert(eSrc.value); }
- og også med onclick. Det virker fint i IE - får submitknappens value, men NS fejler når der er et punktum i funktionsnavnet. Det er den eneste måde at lave event-capturing jeg kender. Er der andre?
I javascript kan du ommøblere din <form kommando efter den er skrevet:
<SCRIPT language=javascript>
function form1_onsubmit() { var frm = document.form1 // udregn noget if ( noget ) then return true else return false; }; //end form1_insubmit()
window.onload = new function( \"document.form1.onSubmit=form1_onsubmit\" ); // eller tilføj sætningen som onload i body. // pas på ikke at miste onload aktivitet fra andre scripts.
mads_jac >> Man har *aldrig* et punktum i et funktionsnavn ;o)
nute >> Jamen, det er da dejligt at høre! Ho Ho Ho ...så var der da også lidt i sækken til dig i år *<|:o)
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.