Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Zmiana skryptu formularz<->ajax, skrypt działa, jednak jest to skrypt na zasadzie jeden do jednego
ksenonlogin
post
Post #1





Grupa: Zarejestrowani
Postów: 123
Pomógł: 3
Dołączył: 29.10.2011

Ostrzeżenie: (0%)
-----


Witam

Chodzi mi o wskazówki które pozwolą przerobić tak skrypt by był on bardziej uniwersalny.
W obecnej chwili wygląda to tak że do każdego formularza muszę tworzyć oddzielny skrypt, fajnie by było gdyby skrypt był oddzielnie w <head></head>, a takie parametry jak adres pliku .php czy wartości <input /> były przekazywane z poziomu formularza do skryptu który wysyła dane na podany adres w formularzu.

Proszę o jakieś wskazówki które pozwolą przerobić (bez wielkich zmian) obecny skrypt.



  1. <title>Kurs jQuery #3 example 7</title>
  2. <script type="text/javascript" src="jquery-1.7.1.min.js"></script>
  3. <script type="text/javascript">
  4. jQuery(document).ready(function() {
  5. $("#guzik").click(function() {
  6. var tekst = $('input[name=tekst]').val();
  7.  
  8. $.ajax({
  9. url: "php1.php",
  10. type: "POST",
  11. data: "indeks="+tekst,
  12. success: function(msg) {
  13. $("#kontener").text(msg);
  14. }
  15. });
  16. });
  17. });
  18. </script>
  19. </head>
  20.  
  21. <form action="">
  22. <input type="text" name="tekst" />
  23. <input type="button" id="guzik" value="KLIK" />
  24. </form>
  25. <div id="kontener"></div>
  26. </body>
  27. </html>
Go to the top of the page
+Quote Post
Tomplus
post
Post #2





Grupa: Zarejestrowani
Postów: 1 884
Pomógł: 231
Dołączył: 20.03.2005
Skąd: Będzin

Ostrzeżenie: (0%)
-----


Pobierz wartość zmiennej ID gdzie input[type=button] i potem zamisat #guzika przypisz zmienną i powinno uruchamiać Ci wszystkie guziki.
Go to the top of the page
+Quote Post
kamil_oos
post
Post #3





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 29.08.2012

Ostrzeżenie: (0%)
-----


nadaj formularzowi jakaś klasę np. class="myForm" oraz w action zadeklaruj adres gdzie chcesz to wysłać.

w js:

  1.  
  2. $(document).ready(function() {
  3. $("form.myForm").submit(function(data) { //po kliknieciu nastepuje wyslanie forma - to przejmuje to zdarzenie
  4. var url = $(this).attr('action'); //pobieramy url z atrubutu "action" wysylanego formularza
  5.  
  6. $.ajax({
  7. url: url,
  8. type: "POST",
  9. data: $(this).serialize(), // oznacza to ze caly formularz - wszystkie inputy zostana dodane do requesta
  10. success: function(msg) {
  11. $("#kontener").text(msg);
  12. }
  13. });
  14. return false;
  15. });
  16. });


czyli, nie musisz deklarowac specjalnie url ani przycisku oraz wszystkie pola forma zostana wysłane. NIE TESTOWANE - napisane z palca.

Ten post edytował kamil_oos 29.08.2012, 21:00:51
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 26.09.2025 - 09:04