StyleGame

Doriți să reacționați la acest mesaj? Creați un cont în câteva clickuri sau conectați-vă pentru a continua.
StyleGame

Online Tutorials

Va rog sa faceti cunoscut forumu. Cum puteti ajuta? De preferat la status pe yahoo messenger massuri etc. Va urez bafta in a ne ajuta cu respect echipa stylegame

    Apasarea tastei enter in formular

    CYobY
    CYobY
    Administrator
    Administrator


    Mesaje : 197
    Data de inscriere : 04/10/2009
    Varsta : 30
    Localizare : VASLUI

    Apasarea tastei enter in formular Empty Apasarea tastei enter in formular

    Mesaj Scris de CYobY Dum Mai 16, 2010 6:59 pm

    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.
    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();
    }
    cu alte cuvinte, ascund un input de tip submit, moment in care formularul se comporta ca unul cu un buton normal de 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.

      Data/ora curentă este: Dum Mai 19, 2024 7:02 pm