Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Formularz + enter = nie wysyłaj
Forum PHP.pl > Forum > XML, AJAX
rogeros
Witajcie.
Nie wiem czy wybrałem odpowiedni dział jeśli tak to bardzo przepraszam.
Otóż mam taki problem chyba błachy ale na chwilę obecną nie potrafię sobie z nim poradzić.

Otóż mam formularz w którym wpisuje nazwisko osoby.

Po wciśnięciu przycisku submit wykonywna jest funkcja javascript (onsubmit="sprawdz();")
która wywołuje ajax który wyświetla nazwiska pasujące do wpisanej frazy.

na koncu funkcji sprawdz() jest return false;

i jak to ma sie do rzeczy.

wpisuje nazwisko osoby za pomocą myszki wciskam submit pokazują się nazwiska strona się nie przeładowuje
natomiast jeśli wcisne enter (na czym najbardziej mi zalezy) przeładowuje się strona i nie uruchamia funkcja sprawdz()

bo własnie chciałbym aby osoba sprawdzajaca nazwisko wpisała jego część nacisnęła enter i pokażą się nazwiska a nie przeładuje się strona.

Mam nadzieje że wyjaśniłem w przejrzysty sposób mój problem.

Za pomoc wszystkim z góry dziękuje.
mrok
a moze łatwiej będzie uzyć zwykły przycisk i onkeypress z focusem?questionmark.gif?
rogeros
mi głównie zależy na enterze.
aby enter odpalał javescript a nie wysyłał formularza (przeładowywał strony)
nexis
Cytat(rogeros @ 3.08.2008, 20:00:46 ) *
wpisuje nazwisko osoby za pomocą myszki


Odjechana myszka. winksmiley.jpg

A wracając do problemu mógłbyś użyć jQuery w taki sposób:

  1. $("input").keypress(function (e) {
  2. if (e.which == 13) { // ENTER
  3. // Zapytanie AJAX
  4. }
  5. });
paziek
.preventDefault oraz .returnValue=false powinny zatrzymać wysyłanie formularza i pozwolić na wykonywanie reszty skryptu.
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.