Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: enter w formularzu bez submitowania
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
athabus
Witam,
mam taki problem. Otóż mam skaner kodów kreskowych, którym skanuje kody produktów do formularza. Niestety skaner po zeskanowaniu kodu wysyła oprócz numeru także kod klawisza 13 czyli enter. Problem w tym, że enter powoduje wysłanie formularza. Chciałbym anulować przesłanie takiego formularza. Wszystkie gotowce w js działają tylko w ie. Nie mogę sobie poradzić z tym pod firefoxem 1.5 i wyższych. Słabo znam js (żeby nie powiedzieć, że prawie wcale) i jakoś nie mogę sobie poradzić z tym problemem.

PS. Nie mogę użyć obrazka jako przycisku submit() - musi to być <input type="submit... > ponieważ używam gotowego rozwiązania do generowania formularzy.
lenczewski
Kod
<script type="text/javascript">

/***********************************************
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/
                
function handleEnter (field, event) {
        var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
        if (keyCode == 13) {
            var i;
            for (i = 0; i < field.form.elements.length; i++)
                if (field == field.form.elements[i])
                    break;
            i = (i + 1) % field.form.elements.length;
            field.form.elements[i].focus();
            return false;
        }
        else
        return true;
    }

</script>


Usage

Kod
<form>
    <input type="text" onkeypress="return handleEnter(this, event)"><br>
    <input type="text" onkeypress="return handleEnter(this, event)"><br>
    <textarea>Some text</textarea>
</form>


Smacznego....
athabus
Dzięki dokładnie o to chodziło :-)
Działa super. A ja się wczoraj męczyłem z tym 2h... czas zabrać się na poważnie za js
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.