Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [AJAX] Problem z efektem
Forum PHP.pl > Forum > XML, AJAX > AJAX
Balon
Mam problem... pisze sobie dla wprawy taki miniskrypcik oparty na advAJAX i scriptaculous jednak napotkalem problem
  1. <?php
  2. $array = array( 'KAKA', 'KAKA2', 'KAKA3', 'KAKA4' );
  3. if( $_GET['act'] == 'get' )
  4. {
  5. $text = '<table border="0">';
  6. foreach( $array as $key => $val )
  7. {
  8. $text .= '<tr id="row_'.$key.'"><td>'.$val.'</td><td><a href="#" onclick="delete_row( '.$key.' ); return false;">Delete</a></td></tr>';
  9. }
  10. $text .= '</table>';
  11. header( 'Content-type: text/plain; iso-8859-2' );
  12. echo $text;
  13. exit();
  14. }
  15. else if( $_GET['act'] == 'delete' )
  16. {
  17. unset( $array[$_GET['id']] );
  18. exit();
  19. }
  20. ?>
  21. <script src="../../lib/prototype.js" type="text/javascript"></script>
  22. <script src="../../src/scriptaculous.js" type="text/javascript"></script>
  23. <script src="../../src/unittest.js" type="text/javascript"></script>
  24. <script src="advajax.js" type="text/javascript"></script>
  25. <script type="text/javascript">
  26. function delete_row( id )
  27. {
  28. advAJAX.get({
  29. url: 'ajax.php?act=delete&id='+id,
  30. onSuccess: function(obj)
  31. {
  32. Effect.Fade( 'row_'+id );
  33. return false;
  34. }
  35. });
  36. }
  37.  
  38. function load()
  39. {
  40. advAJAX.get({
  41. url: 'ajax.php?act=get',
  42. onLoading : function(obj)
  43. {
  44. document.getElementById( 'container' ).innerHTML = '<center>Loading..</center>';
  45. },
  46. onSuccess : function(obj)
  47. {
  48. document.getElementById( 'container' ).innerHTML = obj.responseText;
  49. }
  50. });
  51. }
  52. onload = load();
  53. <div id="container"></div>
  54. <a href="java script: load();">REFRESH</a>


efekt nie jest wykonywany ..... ( delete_row )

Wyrzuca:
Kod
Błąd: nie znaleziono elementu
Plik źródłowy: http://127.0.0.1/~other/ajax/ajax.php?act=delete&id=1&_uniqid=8031394756
Wiersz: 1, Kolumna: 1
Kod źródłowy:
^

i
Kod
Błąd: Effect is not defined
Plik źródłowy: http://127.0.0.1/~other/ajax/ajax.php#
Wiersz: 12


co robie zle ?
anopak
po pierwsze, skoro uzywasz prototype i scriptacoluous to po co do tego dodajesz jeszcze adAJAX? przeciez w prototype jest bardzo dobrze rozwiazane wsztstko co zwiazane z AJAX'em...
Kod
function delete_row( id )
{
new Ajax.Request('ajax.php',{
  method:get,
  parameters:'act=delete&id='+id,
  onSuccess: function(obj)
  {
    Effect.Fade( 'row_'+id );
    return false;
  }
});
}

function load()
{
$( 'container' ).innerHTML = '<center>Loading..</center>';
new Ajax.Updater('container','ajax.php',{parameters:'act=get',method:'get'});
}


u mnie działa, nawet z efektem... spróbuj może prototypem, a nie advAJAX'em
Balon
tyle ze jak chcialem sie nauczyc prototype to nigdzie nie moge znalezc prostego manuala ktory pokazuje podstawowe funkcje
anopak
http://blog.elksoft.pl/wp-content/prototype.js.pl.html

to na dobry początek... po polsku nawet jest winksmiley.jpg
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.