Mam formularz z niektórymi typowymi polami, takimi jak "e-mail". Mam javascript, który przechwytuje klucz powrotu (13) i przesyła formularz, ale ten sam efekt zaobserwowano podczas używania właściwości defaultButton na panelu hosta.Autouzupełnianie autouzupełniania firefox wpisywanie hasła autouzupełniania wpisywanie w polu tekstowym
Jeśli użytkownik jest na IE i wpisuje swój adres e-mail, a następnie wybiera element z wbudowanej autouzupełniania przeglądarki, naciskając klawisz ENTER, żadne naciśnięcie nie jest wysyłane do Javascript. DOBRY.
W przeglądarce Firefox pole tekstowe otrzymuje jednak klawisz ENTER i chce przesłać formularz, który nie jest kompletny.
Czy ktoś wie, jak zatrzymać to inne niż wyłączanie autouzupełniania? Nie mogę znaleźć sposobu na wykrycie, że keypress rzeczywiście pochodzi z listy autouzupełniania.
Używam asp.net i jQuery.
Edytuj - aby wyjaśnić: Naciśnięcie klawisza Enter na przedmiocie w autouzupełnianiu NIE powinno przesyłać formularza. Zachowanie IE jest poprawne (raz!).
Moja obsługi zdarzeń w sobie jest po prostu:
na przycisk UP (próbował keypress zbyt) - if (e.which == 13) submitForm();
Problem jest, nie wiem, w jaki sposób wykryć, że prasa ENTER rzeczywiście pochodził z kontrolą autouzupełniania
Czy to może ci pomóc? http://stackoverflow.com/questions/270494/enter-button-does-not-submit-form-ie-only-asp-net – Niklas
Myślę, że problem wynika z obsługi e. Pierwszy komentarz, który możesz pomóc. – sinanakyazici
można wyświetlić javascript, które posiadają wpis. Klawisze są różnie obsługiwane w przeglądarkach. – Aristos