Hur inaktiverar man en submitknapp för tangentbordstryckningar?
Alltså det ska bara gå att klicka på den och inte trycka Enter
Inaktivera submitknapp?
6 svar · 331 visningar · startad av Tony Kjeldsen
Genom lite JavaScript går det bra:
http://www.webforum.nu/showthread.php?s=&forumid=24&threadid=116198
Re: Inaktivera submitknapp?
Tony Kjeldsen skrev:
Hur inaktiverar man en submitknapp för tangentbordstryckningar?
Alltså det ska bara gå att klicka på den och inte trycka Enter
<me>nyfikenienstrut</me>
Får man fråga varför du vill göra så?
mv icaaq
För det finns vissa som tror att man kan stega med Enter och har inte fattat att det är med Tab man stegar.
Tack för länken
Svaret är denna kodsnutt
<input type="button" value="skicka" onclick="this.form.submit();">
Och för den som förstår att man stegar med Tab och skickar med Enter...hur ska den skicka formuläret utan att använda musen? Att kräva JavaScript för att skicka ett formulär strider mot WCAG 1.0 checkpoint 6.3. (För övrigt är det inte alltid med Tab man navigerar. På en mobiltelefon navigerar man med pilarna, tex.)
<IMHO>
Att gynna dem som "tror att man stegar med enter" på detta vis hjälper ingen. Ändra inte det normala beteendet i webbläsare!
</IMHO>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<title></title>
<script type="text/javascript">
if (document.getElementsByTagName) {
window.onload = function() {
document.forms[0].setAttribute("onsubmit","return false;");
}
function checkInputs() {
var inp = document.getElementsByTagName("input");
if(inp[0].value != "" && inp[1].value != "")
document.forms[0].setAttribute("onsubmit","");
}
}
</script>
<form method="GET" action="./">
<input name="one" onfocus="checkInputs();" onchange="checkInputs();">
<input name="two" onfocus="checkInputs();" onchange="checkInputs();">
<input type="submit" value="OK">
</form>
Detta förhindrar att formuläret skickas av misstag, samtidigt som man kan skicka iväg det när man fyllt i alla textrutor (med Enter). HTH (hope this helps).
<edit>
Jag kom på att om webbläsaren har javascript aktiverat men inte stöder DOM-skript (tex Netscape4), så kan man inte skicka formuläret. Jag har åtgärdat det nu... :)
</edit>
Ska testa detta. ;-)