Stiu ca formularul face treaba asta default. Ce te faci insa atunci cand ai un buton de submit 'fancy', facut cu poze, cu hover pe un link? acolo practic ai un link care face submit la formular cu ajutorul javascriptului.
Ca sa fie totusi un formular 'uzabil' trebuie sa ii putem oferi userului posibilitatea de a face submit cu ajutorul tastei enter.
Prima data am zis sa vedem keycode-ul tastelor, si daca acesta e 13 (- keycode-ul tastei enter), sa fac submit la formular din JS.
unde form1 e numele formularului nostru, se poate face bineinteles si dupa id.
Apar aici insa diverse probleme, in orice camp s-ar afla, un textarea de exemplu, si da enter, formul face submit. Nu-i bun.
Am putea verifica daca are focus pe ultimul camp din formular, si doar atunci sa facem submit la enter.
Mi-a venit insa o idee care rezolva elegant problema:
Ca sa fie totusi un formular 'uzabil' trebuie sa ii putem oferi userului posibilitatea de a face submit cu ajutorul tastei enter.
Prima data am zis sa vedem keycode-ul tastelor, si daca acesta e 13 (- keycode-ul tastei enter), sa fac submit la formular din JS.
- Cod:
document.onkeydown = checkKeycode
function checkKeycode(e) {
var keycode;
if (window.event) keycode = window.event.keyCode;
else if (e) keycode = e.which;
if(keycode==13) document.form1.submit();
}
unde form1 e numele formularului nostru, se poate face bineinteles si dupa id.
Apar aici insa diverse probleme, in orice camp s-ar afla, un textarea de exemplu, si da enter, formul face submit. Nu-i bun.
Am putea verifica daca are focus pe ultimul camp din formular, si doar atunci sa facem submit la enter.
Mi-a venit insa o idee care rezolva elegant problema:
cu alte cuvinte, ascund un input de tip submit, moment in care formularul se comporta ca unul cu un buton normal de submit.