Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [advAJAX]Problem z wysyłaniem formularza
Mystic007
post
Post #1





Grupa: Zarejestrowani
Postów: 106
Pomógł: 1
Dołączył: 22.04.2006
Skąd: Będzin

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


Mam problem z wysyłaniem formularza bez przeładowania strony. Czytałem to oraz to i nadal nie mogę sobie poradzić. Mam taki kod (na razie nie robi nic specjalnego):
  1. <script type="text/javascript" src="advajax.js"></script>
  2. <script type="text/javascript">
  3. advAJAX.assign(document.getElementById("form"), {
  4. onSuccess : function(obj) {
  5. alert(obj.responseText);
  6. }
  7. onError : function(obj) {
  8. alert('! '+obj.responseText);
  9. }
  10. onFinalization : function(obj) {
  11. alert('!! '+obj.responseText);
  12. }
  13. });
  14. </script>
  15.  
  16. <form method="post" action="form.php" id="form">
  17. <input type="text" name="a" value="" />
  18. <input type="submit" value="OK!" />
  19. </form>

jest to wycinek z pliku form.php. Proszę o pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 9)
TomASS
post
Post #2





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

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


Ale jaki masz problem?
klasa advAJAX jeśli napotka błędy w kodzie to wysyła formularz "normalnie" - ot taka fajna sprawa (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Mystic007
post
Post #3





Grupa: Zarejestrowani
Postów: 106
Pomógł: 1
Dołączył: 22.04.2006
Skąd: Będzin

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


Cytat(TomASS @ 31.07.2006, 16:41 ) *
Ale jaki masz problem?

-"z wysyłaniem formularza bez przeładowania strony."
Cytat(TomASS @ 31.07.2006, 16:41 ) *
klasa advAJAX jeśli napotka błędy w kodzie to wysyła formularz "normalnie" - ot taka fajna sprawa (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

-Czy możesz wskazać owe błędy w kodzie?
Go to the top of the page
+Quote Post
devnul
post
Post #4





Grupa: Zarejestrowani
Postów: 1 470
Pomógł: 75
Dołączył: 21.09.2005
Skąd: że znowu

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


  1. <script type="text/javascript" src="advajax.js"></script>
  2. <script type="text/javascript">
  3. advAJAX.assign(document.getElementById("form")) {
  4. onSuccess : function(obj) {
  5. alert(obj.responseText);
  6. }
  7. onError : function(obj) {
  8. alert('! '+obj.responseText);
  9. }
  10. onFinalization : function(obj) {
  11. alert('!! '+obj.responseText);
  12. }
  13. });
  14. </script>
  15.  
  16. <form method="post" action="form.php" id="form">
  17. <input type="text" name="a" value="" />
  18. <input type="submit" value="OK!" />
  19. </form>
a teraz?
Go to the top of the page
+Quote Post
UNK
post
Post #5





Grupa: Zarejestrowani
Postów: 93
Pomógł: 5
Dołączył: 30.04.2006
Skąd: Gliwice

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


Moze nie znam sie na tym wszystkiem jakos bardzo bardzo dobrze, ale moze jak cos dodam to pomoze (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

  1. <script type="text/javascript" src="advajax.js"></script>
  2. </head>
  3.  
  4.  
  5. <script type="text/javascript">
  6. function wyslij(id)
  7. {
  8. advAJAX.assign(document.getElementById(id)) {
  9. onSuccess : function(obj) {
  10. alert(obj.responseText);
  11. }
  12. onError : function(obj) {
  13. alert('! '+obj.responseText);
  14. }
  15. onFinalization : function(obj) {
  16. alert('!! '+obj.responseText);
  17. }
  18. });
  19. }
  20.  
  21. <form onsubmit="wyslij('form');" method="post" action="form.php" id="form">
  22. <input type="text" name="a" value="" />
  23. <input type="submit" value="OK!" />
  24. </form>
  25.  
  26. </body>


Ten post edytował UNK 31.07.2006, 20:24:08
Go to the top of the page
+Quote Post
TomASS
post
Post #6





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

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


Tak działa:
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  3. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  4. <script type="text/javascript" src="../advajax.js"></script>
  5. <script type="text/javascript">
  6. function a_ta_funkcja_gdzie_jest() {
  7.  
  8. advAJAX.assign(document.getElementById("loginForm"), {
  9. onSuccess : function(obj) {
  10. alert(obj.responseText);
  11.  
  12. }
  13. });
  14. }
  15. </head>
  16. <body onload="a_ta_funkcja_gdzie_jest()">
  17.  
  18. <form method="post" action="1.php" id="loginForm">
  19. <input type="text" name="a" value="" />
  20. <input type="submit" value="OK" id="submitBtn" />
  21.  
  22. </form>
  23. </body>
  24. </html>

Brakuje Ci funkcji która jest ładowana z elementem <body> oraz to, że formularzy (chyba) nie może mieć id=form
Go to the top of the page
+Quote Post
yasiek
post
Post #7





Grupa: Zarejestrowani
Postów: 59
Pomógł: 0
Dołączył: 4.06.2006
Skąd: Strzeszyce/Kraków

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


Ech... to ja się teraz męczę nad inną rzeczą. Z javą script jest u mnie bardzo średnio... więc może ktoś mi pomoże. Jak zrobić, żeby teraz zamiast alertu, pojawiał się responseText, w divie, w którym był formularz?
Go to the top of the page
+Quote Post
UNK
post
Post #8





Grupa: Zarejestrowani
Postów: 93
Pomógł: 5
Dołączył: 30.04.2006
Skąd: Gliwice

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


musisz sie odnieść do id diva w którym był ten formularz, może że nie był w żadnym to musisz go tam wrzucić (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

  1. <div id='test'>
  2. <form ...>
  3. ...
  4. </form>
  5. </div>


A w skrypcie JS musisz dodać
  1. document.getElementById('test').innertHTML = responseText;

zamiast alerta.

PS. Mam nadzieję że o to chodzi :-)

Ten post edytował UNK 22.08.2006, 18:56:41
Go to the top of the page
+Quote Post
yasiek
post
Post #9





Grupa: Zarejestrowani
Postów: 59
Pomógł: 0
Dołączył: 4.06.2006
Skąd: Strzeszyce/Kraków

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


Tak, o to chodziło. Ale udało mi się nawet dojść do tego samemu...(IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) to teraz mi jeszcze powiedz, czy mogę dodać jakiś button, albo coś w tym stylu, który resetowałby tego diva do początkowej postaci (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) dzięki!
Go to the top of the page
+Quote Post
UNK
post
Post #10





Grupa: Zarejestrowani
Postów: 93
Pomógł: 5
Dołączył: 30.04.2006
Skąd: Gliwice

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


heh, jeśli formularz też jest wsadzany do tego diva dynamicznie to nie ma problemu, jeśli jednak on jest na stronie po odświeżeniu, a potem się traci, to musisz napisać mały skrypcik w JS który by te wszystkie elementy z powrotem tam pokazał (jednak jak na mój gust łatwiej będzie znowu dynamicznie wstawić formularz).

PS. Musisz pamiętać że advAJAX nie ma możliwości wykonywania skryptu JS po ściągnięciu fragmentu strony, musisz sobie jakoś poradzić z tym :-)

PS2. Nie wykonuje skryptów w <script> ... </script>, ale w onclick='przywroc();' wykona (o ile dobrze pamiętam)
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 23.08.2025 - 00:05