Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Funkcje JS załadowane a sa niewidoczne
Forum PHP.pl > Forum > XML, AJAX
RLLAMAS
Witam.

Mam taki oto kod.
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <head>
  4. <title>Cxxxxxx Service System</title>
  5. <meta http-equiv="Content-type" content="text/html; charset=utf-8">
  6. <meta http-equiv="Content-Language" content="pl">
  7. <meta name="Author" content="Radosław Lorenc">
  8. <script>
  9. function update_log()
  10. {
  11.   //funkcja  czesciowo wylaczona w celu przetestowania
  12.   var req = mint.Request();
  13.              
  14.   //req.Send("refresh.php", "roboczy");
  15.  alert ('log_odsw');
  16.  //window.setTimeout("update_log()",300000);    
  17.  window.setTimeout("update_log()",60000);        
  18. }
  19.  
  20. function log_nielog()
  21. {
  22.  var req = mint.Request();
  23.              
  24.  var req = mint.Request();
  25.  req.Send("niezalog.php", "roboczy");
  26.  
  27. }
  28.  
  29. function log_wygaslo()
  30. {
  31.  var req = mint.Request();
  32.              
  33.  var req = mint.Request();
  34.  req.Send("wygaslog.php", "roboczy");
  35.  
  36. }
  37.  
  38.  
  39. function add_zgl()
  40. {
  41.    zmien_kolor('add_zgl');
  42. }
  43.  
  44. function add_zgl_f()
  45. {
  46.    zmien_kolor('add_zgl_f');
  47. }
  48.  
  49.  
  50. function view_zgl()
  51. {
  52.    zmien_kolor('view_zgl');
  53. }
  54.  
  55.  
  56. function check_time()
  57. {
  58.    zmien_kolor('check_time');
  59. }
  60.  
  61.  
  62. function add_user()
  63. {
  64.    zmien_kolor('add_user');
  65. }
  66.  
  67.  
  68. function view_user()
  69. {
  70.    zmien_kolor('view_user');
  71. }
  72.  
  73.  
  74. function add_shop()
  75. {
  76.    zmien_kolor('add_shop');
  77. }
  78.  
  79.  
  80. function change_pswd()
  81. {
  82.    zmien_kolor('change_pswd');
  83. }
  84.  
  85.  
  86. function logout()
  87. {
  88.  
  89. }
  90.  
  91. function zmien_kolor (element)
  92. {
  93.    $(elemet).style.color = "#FF0000";
  94.    
  95.    $("add_zgl").style.color = "#000000";
  96.    $("add_zgl_f").style.color = "#000000";
  97.    $("view_zgl").style.color = "#000000";
  98.    $("check_time").style.color = "#000000";
  99.    $("add_user").style.color = "#000000";
  100.    $("view_user").style.color = "#000000";
  101.    $("add_shop").style.color = "#000000";
  102.    $("change_pswd").style.color = "#000000";
  103.  
  104. }
  105.  
  106.  
  107. </script>
  108. </head>
  109. <body>
  110. <?
  111.  
  112. define("IN_CONECT",true);
  113. include ("baza_conect.php");
  114. polacz();
  115. //sprawdzamy logowanie
  116. $sid=$_COOKIE['SID'];
  117.  
  118. if ($sid === "" OR $sid == "")
  119. {
  120.       //Nie zalogowany
  121.    echo "<script> log_nielog ();</script>";
  122.                    
  123. }else
  124. {
  125.        $pyt_log="SELECT * FROM `loged` WHERE `sid`='".$sid."'";
  126.        $wynik=@mysql_query($pyt_log, $link);
  127.        $czas_baz=@mysql_result($wynik,'0', 'time');
  128.    
  129.        if (time() > ($czas_baz + 900))
  130.        {
  131.                //logowanie wygasło
  132.                echo "<script> log_wygaslo ();</script>";
  133.                
  134.        }else
  135.        {
  136.            //logowanie ważne odczytujemy uprawnienia i aktualizujemy logowanie
  137.            echo "<script> update_log ();</script>";
  138.            echo "<b><span id=\"add_zgl\" onclick=\"add_zgl();\" style=\"cursor: pointer;\">Dodaj zgłoszenie</span><br>
  139.            <span id=\"add_zgl_f\" onclick=\"add_zgl_f();\" style=\"cursor: pointer;\">Dodaj zgłoszenie Fikcyjne</span><br>
  140.            <span id=\"view_zgl\" onclick=\"view_zgl();\" style=\"cursor: pointer;\">Przejżyj zgłoszenia</span><br>
  141.            <span id=\"check_time\" onclick=\"check_time();\" style=\"cursor: pointer;\">Sprawdz terminy zgłoszeń</span><br>
  142.            <br>
  143.            <br>
  144.            <span id=\"add_user\" onclick=\"add_user();\" style=\"cursor: pointer;\">Dodaj Użytkownika</span><br>
  145.            <span id=\"view_user\" onclick=\"view_user();\" style=\"cursor: pointer;\">Przegladaj użytkowników</span><br>
  146.            <span id=\"add_shop\" onclick=\"add_shop();\" style=\"cursor: pointer;\">Dodaj sklep</span><br>
  147.            <br>
  148.            <br>
  149.            <span id=\"add_zgl\" onclick=\"change_pswd();\" style=\"cursor: pointer;\">Zmień hasło</span><br>
  150.                        <br>
  151.                        <br>
  152.                        <br>
  153.                        <br>
  154.                        <span onclick=\"logout();\" style=\"cursor: pointer;\">Zakończ prace</span></b>";
  155.        
  156.        }
  157.  
  158.  
  159. }
  160. ?>
  161. </body>


i tu zaczyna się problem wywołanie funkcji update_log () nie powoduje błędu czyli funkcja jest smile.gif natomiast klikniecie na która kol wiek pozycje menu powoduje iż dostaje komunikat iż wywoływana funkcja nie istnieje (nie została zdefiniowana) pomimo tego iż została załadowana sad.gif.

Przeniesienie nie dzialajacych funkcji w ramy<body></body> nic nie dało sad.gif

Dodam tylko iż wskazana strona ładowana jest do Diva za pomocą biblioteki mintAJAX i problemy pojawiły się dopiero przy tych funkcjach.
Wczytanie strony samodzielnie również powoduje błędy.

Szukanie prze zemnie podobnego problemu na forum nie dało oczekiwanego rezultatu i zakończyło się fiaskiem
mroczek
Spróbuj zamiast
dać
  1. <script type="text/javascript">
i daj znać czy pomogło.
RLLAMAS
Niestety dalej to samo.

Moje podejrzenie padło na to iż z tego co kiedyś czytałem, że funkcje Java Script nie zawsze dzialają jeśli ładowane sa AJAXEM.

Było podane co trzeba ustawić w mintAjax aby funkcjonowały ale nie pamiętam co to było a teraz nie mogę na to z powrotem trafić sad.gif.
batman
A co to za obiekt mint?
Skąd się bierze?
RLLAMAS
Cytat(batman @ 10.10.2008, 18:31:21 ) *
A co to za obiekt mint?
Skąd się bierze?



Jak wspomniałem używam biblioteki mintAJAX i to z niej jest pobierany obiekt. Obiekt jest dziedziczony ze strony nadrzędnej czyli tej w ramach której menu jest ładowane.

Wartości w mintAjax które aktywuja skrypty ładowane za pomoca AJAX to evalScripts i evalResponse ale ich ustawienie tez nic nie daje
batman
Cytat(RLLAMAS @ 10.10.2008, 18:36:51 ) *
Jak wspomniałem używam biblioteki mintAJAX i to z niej jest pobierany obiekt. Obiekt jest dziedziczony ze strony nadrzędnej czyli tej w ramach której menu jest ładowane.
Nie rozumiesz. Skąd się to bierze w Twoim kodzie? Gdzie dołączasz tą bibliotekę?
RLLAMAS
Biblioteka jest ładowana na stronie index.php wramach to której wyswietlane jest menu.

dodanie wczytania biblioteki do strony menu.php nie rozwiazalo problemu.

Index.php
  1. <?php
  2.    setcookie("SID", "pusty", time()+900);
  3.    if ($login != NULL && $paswd != NULL)
  4.    {
  5.    
  6.    
  7.    }
  8.    $ip = (getenv(HTTP_X_FORWARDED_FOR))
  9.   ?  getenv(HTTP_X_FORWARDED_FOR)
  10.   :  getenv(REMOTE_ADDR);
  11. ?>
  12.  
  13.  
  14.  
  15. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  16. <html>
  17. <head>
  18. <title>Carrefour Service System</title>
  19. <meta http-equiv="Content-type" content="text/html; charset=utf-8">
  20. <meta http-equiv="Content-Language" content="pl">
  21. <meta name="Author" content="Radosław Lorenc">
  22. <script language=JavaScript src="mintAjax.js"></SCRIPT>
  23. <script>
  24. function SendLoged() {
  25. //funkcja logowania
  26.         var req = mint.Request();
  27.      
  28.            req.OnSuccess = function() {
  29.         if( this.responseText == "OK")
  30.           {
  31.               $("roboczy").innerHTML = "ZALOGOWANO.<br> Trwa ładowanie menu";
  32.               $("menu").innerHTML = '<img src="./img/postep.gif" />';
  33.                window.setTimeout("laduj_menu()",3000);
  34.          }else
  35.          {    
  36.               $("roboczy").innerHTML = this.responseText;
  37.          }
  38.            
  39.    }
  40.              
  41.    req.SendForm("logowanie");
  42.     $("roboczy").innerHTML = '<img src="./img/postep.gif" />';
  43. }
  44. function laduj_menu()
  45. {
  46.    var req = mint.Request();
  47.  
  48.    req.Send("menu.php", "menu");
  49. }
  50. </script>
  51. </head>
  52. <body>
  53. <table width="100%">
  54. <tr>
  55. <td style="width: 204px; height: 45px;">
  56. <img src="./img/logo.gif" alt="LOGO">
  57. </td>
  58. <td style="font-size: 15px; font-weight: bold; text-align: center; vertical-align: center;">
  59. CARREFOUR Service System v.0.0.1 BETA
  60. </td>
  61. </tr>
  62. <tr>
  63. <td style="width: 240; height: 100%; vertical-align: top;">
  64. <div id="menu" style="width: 240; height: 100%; vertical-align: top;">
  65. Zaloguj się aby mieć dostęp do menu.
  66. </div>
  67. </td>
  68.  
  69. <td style="text-align: center; vertical-align: top;">
  70. <div id="roboczy" style="text-align: center; vertical-align: top;">
  71. <form id="logowanie" method="POST" action="loguj.php">
  72. <br>
  73. <br>
  74. <br>
  75. <div style="margin-left: auto; margin-right: auto;">
  76.  
  77. <table border="1" style="margin-left: auto;
  78. margin-right: auto;">
  79. <tr>
  80. <td colspan="2" style="font-size:12px; font-weight: bold; text-align: center;">LOGOWANIE DO SYSTEMU</td>
  81. </tr>
  82. <tr>
  83. <td style="widdth: auto; font-size: 12px;">
  84. LOGIN
  85. </td>
  86. <td><input type="text" name="login"></td>
  87. </tr>
  88. <tr>
  89. <td style="widdth: auto; font-size: 12px;">
  90. HASŁO
  91. </td>
  92. <td><input type="password" name="paswd"></td>
  93. </tr>
  94. <td colspan="2" style="widdth: auto; font-size: 12px; text-align: center;">
  95.  
  96. </td>
  97. </tr>
  98. </table>
  99.  
  100. <table style="margin-left: auto;
  101. margin-right: auto;">
  102. <tr>
  103. <td><button onclick="SendLoged()">LOGUJ</button></td>
  104. </tr>
  105. </table>
  106. </form>
  107. </div>
  108. <?php
  109. include ("stopka.php");
  110. ?>
  111. </div></td>
  112. </tr>
  113.  
  114.  
  115. </table>
  116.  
  117.  
  118. </body>
  119. </html>


Strona wisi pod adresem http://carrefour.blacksidegalaxy.com

Za chwile zostanie wyłączone zabezpieczenie wejścia z określonych adresów IP i dodany użytkownik test o haśle test

P.S. strona jest robiona w celu usprawnienia mojej pracy a nie w celach zarobkowych
batman
Bez strony mogę jedynie strzelać - błąd w js i dlatego nie działa.
RLLAMAS
dostep do strony został otwarty haslo zostało uaktywnione

Stronki zostały wystawione w http://carrefour.blacksidegalaxy.com/strony.zip
batman
Dobrze strzelałem - masz błąd w java script:
Kod
view_user is not defined
RLLAMAS
@Batman błędu w JS nie ma (przynajmniej jesli chodzi o stronę menu.php) a to co zauważyłeś napisałem już w pierwszym poście.

Jeśli nie wierzysz ze błędu nie ma zaloguj się jako test na stronie adres zmień na http://carrefour.blacksidegalaxy.com/menu.php tak aby otworzyło ci się samo menu i wtedy kliknij na która kolwiek pozycje a najlepiej na pierwsza smile.gif

Ja stwaim ze problem lezy w tym iż strona menu ladowana jest ajaxem
batman
Problemem jest to, że masz w kodzie straszną sieczkę. To też ma wpływ na skrypty js.
RLLAMAS
Thx Batman.

Naprowadzony sieczką w kodzie postanowiłem ładować wszystkie skrypty z zewnętrznego pliku. I to pomogło.

Jeszcze raz dzięki za nakierowanie smile.gif


P.S.
Zabezpieczenia w wejściu na stronę przywrócone smile.gif
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.