Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][PHP]Jak przesłać formularz bez przycisku przesyłania (button)? JS?
Forum PHP.pl > Forum > Przedszkole
dolar
Witajcie. Przerabiam wstepne pytania rekrutacyjne na junior php i pojawilo sie cos takiego:
Jak przesłać formularz bez przycisku przesyłania (button)?
JavaScript u mnie lezy, a wrecz sa to meha podstawypodstaw, ale wyczarowalam cos takiego ( wzielam "get" zeby podejrzec czy sie rpzesyla):

  1. <form method="get" id="jsform">
  2. <label>Miasto:</label>
  3. <input type="text" name="miasto">
  4. </form>
  5.  
  6. <script type="text/javascript">
  7. document.getElementById('jsform').submit();
  8. </script>


Problem w tym ze ta strona zanim cokolwiek sie wpisze, ciagle w nieskonczonosc sie przeladowuje. Chcialabym, aby strona po zaladowaniu czekala, az cos uzytkownik wpisze, odczekala z 2 s i sie przeladowala i formualrz sie wysle. Jak powinnma ugryz ten tmeat? Albo moze jakies naprowadzenie?
Puszy
Za każdym razem gdy załaduje się strona wysyłasz formularz który z racji braku atrybutu action w <form> przesyła dane forumularza ponownie do tego samego pliku który z kolei robi to samo. Musisz dodać jakiś event. Pytanie zapewne sprawdza czy wiesz jak korzystać z submit(). Taki submit często używa się w połączeniu z innymi eventami np. onChange czy chociażby onFocus.
dolar
Cytat(Puszy @ 21.03.2017, 12:11:42 ) *
Za każdym razem gdy załaduje się strona wysyłasz formularz który z racji braku atrybutu action w <form> przesyła dane forumularza ponownie do tego samego pliku który z kolei robi to samo. Musisz dodać jakiś event. Pytanie zapewne sprawdza czy wiesz jak korzystać z submit(). Taki submit często używa się w połączeniu z innymi eventami np. onChange czy chociażby onFocus.


Zmienilam kod na cos takiego jak mowiles:

  1. <form method="get" action="powtorka.php" id="jsform" onchange="checkAndSubmit()">
  2. <label>Miasto:</label>
  3. <input type="text" name="miasto">
  4. </form>
  5.  
  6. <script type="text/javascript">
  7. function checkAndSubmit() {
  8. document.getElementById('jsform').submit();
  9. alert('Wyslano!');
  10. }
  11. </script>


Dziala calkiem dobrze, lecz musze wcisnac enter aby sie wyslalo. Czy da rade zrobic tak aby wysylalao sie samo bez wciskania wnteru po 2-3 sekunach?
nospor
Cytat
ecz musze wcisnac enter aby sie wyslalo
Nie tylko, tabulator tez zadziala

Cytat
Czy da rade zrobic tak aby wysylalao sie samo bez wciskania wnteru po 2-3 seku

zdarzenie onKeyDown/Up + setTimeout()
dolar
Dzieki za pomoc smile.gif
viking
I staraj się raczej nie przypinać tak bezpośrednio kodu. Później ciężko znaleźć, nie można przerzucić do zewnętrznego pliku itd.
https://developer.mozilla.org/pl/docs/Web/A...ddEventListener
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.