Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][JavaScript] Kliknięcie przycisku
Forum PHP.pl > Forum > Przedszkole
dudek90
Witam,

Mam pytanie:
Czy możliwe jest aby poprzez JavaScript wywołać naciśnięcie przycisku typu submit ?

Chodzi o to, że mam formularz i gdy nacisnę przycisk to dane z formularza zapisywane są w bazie.
Chciałbym jednak do pól tekstowych w formularzu dodać zdarzenie typu onchange i przypisać mu kliknięcie tego przycisku odpowiedzialnego za zapisanie danych z formularza.
Dzięki temu po każdym przejściu do nowego pola tekstowego moja baza będzie aktualizowana.

Za wszelkie wskazówki i podpowiedzi bardzo dziękuję. smile.gif

Edit:
Poszukałem trochę i znalazłem sposób z wysyłaniem formularza przez javascript jednak wszystko a potem sprawdzaniem zmiennej $_POST.
Odbywa się to jednak z przeładowaniem strony. Aby odbywało się bez przeładowania strony trzeba użyć chyba tego AJAXA.
Mógłby mi ktoś podać jakiś prosty przykład?
Kostek.88
Wydaje mi się, że najłatwiej jest to zrobić z jQuery...

1) na piechotę - trudniej

HTML:
  1. <form id="formularz">
  2. <label for="cos">Cos do zapisania:</label>
  3. <input type="text" name="cos" id="cos" />
  4. </form>


JS:
  1.  
  2. $('form#formularz :input').change(function(){
  3.  
  4. var dane = JSON.stringify( $('form#formularz').serializeArray() );
  5.  
  6. $.ajax({
  7. type: 'POST',
  8. url: 'sciezka_do/pliku.php?dane=' + dane,
  9.  
  10. success: function(data) {
  11. console.log(data); // tu możesz wyświetlić sobie co dokładnie zostało zwrócone przez skrypt PHP, do którego się odwołujesz
  12. console.log('zapisano pomyslnie');
  13. },
  14.  
  15. beforeSend() {
  16. console.log('wysylanie...');
  17. },
  18.  
  19. error: function() {
  20. console.log('error...');
  21. }
  22. });
  23.  
  24. });



PHP
  1.  
  2. $dekodowane_dane = json_decode($_GET['dane']);
  3.  
  4. foreach($dekowane_dane as $dane) {
  5. $$dane["name"] = $dane["value"];
  6. }
  7.  


Powinieneś w ten sposób otrzymać nazwy zmiennych odpowiadające nazwom pól fomularza z wartościami odpowiadającymi... wartościom wink.gif Pisane z pamięci, więc mogą być jakieś małe błędy, w każdym razie będzie Ci łatwiej znaleźć rozwiązanie.

2) przy pomocy pluginu:

http://jquery.malsup.com/form/ - sam używam i uważam, że to genialne rozwiązanie. Ma dużo możliwości i jest banalne w użyciu.
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.