08. oktober 2005 - 10:01Der er
24 kommentarer og 1 løsning
Alert på "send bestilling" knap
Nedenstående kode "blænder" af for at klikke på "send bestilling" - såfremt man ikke har sat et flueben men jeg vil gerne have indført at der kommer en alert box frem hvis man ikke sætter et flue ben og alligevel prøver at sende på submit
<script type="text/javascript"> function toggleSubmit() { elm = document.getElementById("submitButton"); elm.disabled = !elm.disabled; } </script>
<form action="vidre.asp" method="post"> <input type="checkbox" name="godtaget" onClick="toggleSubmit()"> Jeg har læst og acceptere betingelserne.<br> <input type="submit" id="submitButton" disabled> </form>
prøv at sætte en OnClick handler direkte på knappen: (jeg ved ikke om det virker, når den er disabled!) <input type="submit" id="submitButton" onclick="java script: alert('nix!');" disabled >
Den reagerer ikke på noget, så hvis den er disabled burde der ikke være nogen grund til at lave en event-handler på knappen.
Hvis det derimod er en sikring mod at man kan sende via kode, så kan du redefinere formularens submit-funktion til at validere inden den sender formularen med den oprindelige submit-funkiton...
Du kan ikke få nogen events fra et disabled element. Men du kan pakke det ind i f.eks. et <DIV/> tag, hvor du har en onclick/onmousedown eventhandler på.
Hvis du vil have et event på knappen, så vil jeg da anbefale dig IKKE at disable den, for det lader til at du gerne vil fortælle brugeren hvorfor de ikke kan sende. At lave en ekstra facilitet omkring knappen virker for mig som dobbeltarbejde for at opnå en standard-funktionalitet...
<script type="text/javascript"> function valider(f){ if(!f.godtaget.checked){ alert("Du skal afkrydse, at du har læst og accepteret betingelserne !-)"); return false; } return true; } </script>
<form action="vidre.asp" method="post" onsubmit="return valider(this)"> <input type="checkbox" name="godtaget"> Jeg har læst og accepterer betingelserne.<br> <input type="submit" id="submitButton" disabled> </form>
-- og hvis du vil forhindre en submit i at ske, skal du sætte en onsubmit på form-tagget under alle omstændigheder (og så kan man jo ligesågodt udføre tjekket derfra !-)
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.