Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> AJAX, php i DOM
Alkagar
post
Post #1





Grupa: Zarejestrowani
Postów: 63
Pomógł: 0
Dołączył: 18.12.2005

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


Witam,
od razu mowie, że jestem zielony z AJAXA :-) wiec pytanie może wydać się troche głupie ale...

Problem wygląda następująco:
Mam stronke html na ktorej jest przycisk, po kliknięciu go uruchamia się AJAX i wykonuje skrypt z pliku file.php. czy jest możliwość zeby w tym pliku zdefiniować zmiane jakiegoś elementu na stronie głównej t.j. tym pliku html. Chodzi mi tutaj o zmiane typu:
  1. document.getElementById('id').innerHTML = "costam";

ale żeby to zapisane w tym pliku php a nie w onSuccess w funkcji AJAX-owej.

Mam nadzieję że da sie zrozumieć choć troche to co napisałem : - )

Pozdrawiam,
Alk


P.S.
Dopisze tutaj bo nie chce zakładać nowego tematu.
Czy jest możliwość edycji plików *.xml przy uzyciu JS? Chodzi mi tutaj o dopisywanie danych lub zmiane juz istniejących wpisów.

Ten post edytował Alkagar 13.06.2006, 07:30:59
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Alkagar
post
Post #2





Grupa: Zarejestrowani
Postów: 63
Pomógł: 0
Dołączył: 18.12.2005

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


Funkcja onclick na grafice wywołuje ajaxa:
  1. <img src='grafika/login.gif' onClick = "mySubmit(); " width='90' onMouseOver='document.body.style.cursor="hand"' onMouseOut='document.body.style.cursor="default"'>



Funkcja mySubmit(); :
  1. function mySubmit()
  2. {
  3. var name = document.getElementById('name').value;
  4. var pass = document.getElementById('pass').value;
  5. new advAJAX.post({
  6. url : "teksty/login.php?name=" + name + "&pass=" + pass,
  7. onInitialization : function()
  8. {
  9. document.getElementById('text').innerHTML = "";
  10. line1 = document.createElement('img');
  11. line1.src = 'grafika/loader.gif';
  12. line1.width = 200;
  13. line1.height = 100;
  14. document.getElementById('text').appendChild(line1);
  15. },
  16. onSuccess : function(obj)
  17. {
  18.  
  19. var data=obj.responseText;
  20. var ScriptFragment = '(?:<script.*?>)((\n|.)*?)(?:<\/script>)';
  21. var match = new RegExp(ScriptFragment, 'img');
  22. var response = data.replace(match, ''); //w response masz calosc bez skryptów JS
  23. var scripts = data.match(match); //w scripts masz same skrypty JS
  24. match = new RegExp(ScriptFragment, 'im');
  25. for (var i = 0; i < scripts.length; i++)
  26. eval(scripts[i].match(match)[1]);
  27.  
  28. document.getElementById('name').value = "";
  29. document.getElementById('pass').value = "";
  30. document.getElementById('text').innerHTML = obj.responseText;
  31. }
  32. });
  33. }


No i kod pliku .php:
  1. session_start();
  2. header('Content-type: text/html; charset=iso-8859-2');
  3. include '../func.php';
  4. $user = new users();
  5. unset($check);
  6. $check = $user->login($name, $pass);
  7. if ($check == FALSE){
  8. session_unset();
  9. unset($name);
  10. $name = 'anonyomus';
  11. ?>
  12. <h2>Wystąpił błąd podczas logowania</h2>
  13. <p>Podałeś błędne hasło lub złą nazwę użytkownika. Spróbuj zalogować się jeszcze
     raz bądź załóż konto jeżeli go jeszcze nie masz.</p>
  14.  
  15. <script lanugage='JavaScript'>
  16. document.getElementById('usr').innerHTML = '<? echo($name);?>';
  17. document.getElementById('close_one1').style.display = 'none';
  18. </script>
  19. <?
  20. }else
  21. {
  22. $_SESSION['name'] = $name;
  23. ?>
  24. <h2>Logowanie przebiegło pomyślnie : - )</h2>
  25. <p>Od tej pory możesz się cieszyć cześcią serwisu dostępną tylko dla nielicznych.</p>
  26. <script lanugage='JavaScript'>
  27. document.getElementById('usr').innerHTML = '<? echo($name);?>';
  28. document.getElementById('close_one1').style.display = 'inline';
  29. </script>
  30. <?
  31. }
  32. ?>
Go to the top of the page
+Quote Post

Posty w temacie


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.12.2025 - 06:50