03. juni 2004 - 12:16Der er
13 kommentarer og 1 løsning
onblur/onfocus
Jeg har siddet og rodet lidt med onblur og onfocus. Hvad er egentlig forskellen? Når, jeg har lidt kode med tre inputfelter. Det sidste inputfelt måkun bestå af talværdier. Det fungerer også nu, bortset fra at man sagtens kan hoppe videre til et af de andre to felter uden at have opfyldt kravet om kun talværdier i tredie inputfelt. Hvad kan jeg gøre for at forhindre dette?
<table border="1" cellpadding="5" cellspacing="0" width="100%"> <tr> <td colspan="2"><h2 class="center">Indskriv ny temadag eller anden aktivitet:</h2></td> </tr> <tr> <td colspan="2">Beskrivelse:</td> </tr> <tr> <td colspan="2"><input type="text" maxlength="80" name="beskrivelse" size="80" class="inputtekst" /></td> </tr> <tr> <td width="150">Første dato for afholdelse:</td> <td>Maks antal tilmeldte (0 for ubegrænset):</td> </tr> <tr> <td><input type="text" class="inputtekst" name="moededato" size="25" maxlength="25" \></td> <td><input type="text" class="inputtekst" name="moededato" size="14" value="0" maxlength="10" onblur="if(!this.value.match(/^[0-9]*$/))alert('Feltet må kun indeholde tal');this.focus();"></td> </tr> </table>
Nej, hvis jeg havde haft et liggende, ville jeg gerne have givet dig det ...
-- men man skal, såvidt jeg kan gennemskue, bogstavelig talt trappe for alle events i andre objekter, og det lyder for mig som voldsomt overkill (bl.a. fordi der er nogle irriterende forskelle mellem browsere i.f.t. event-objekter !-)
-- men brug stadig den gode ide med at lave en validering onsubmit på formen !o]
<form ... onsubmit="return valider(this)">
-- og i en javascript-blok: function valider(f){ if(f.moededato.value==""){ alert("Feltet skal indeholde en dato !-)") f.moededato.focus(); return false; } //osv. return true; }
Ok... men jeg vil også godt have dette her til at virke :-). Jeg har lavet denne her ovenpå det du har vist mig. Men jeg kan ikke rigtig få "indskriv dato" frem hvis feltet er tomt
onblur="if(this.value == ''){alert('Feltet må ikke være tomt');this.value=(isNaN(this.value))?'indskriv dato':this.value;this.focus();}"
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.