Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: ładowanie funkcji onload, onchange
Forum PHP.pl > Forum > XML, AJAX
fiasko
Witam

Wywołuję tą funkcję w ten sposób :

Kod
echo " <body onload=\"przeladuj();\">";


Cytat
echo "<select id=\"keywords_select\" onChange=\"przeladuj();\" name=\"keywords_select\">";



definiuje ją potem :


ładuję funkcję :
Kod
echo '<script type="text/javascript">
function przeladuj()
{
  var dane = document.getElementById("keywords_select").options[document.getElementById("keywords_select").selectedIndex].value;
  
  function()
    
  tmp = findSWF("chart");
  
  
  
    
  x = tmp.reload();
var sciezka =
"http://www.poooz.pl/seo_poz/function/wykresy/miesiecznie_31dni.php?'.$get.'&keywords_id="+dane;
alert("'.$get.'");

  x = tmp.reload(sciezka);
  

  x = tmp.reload(sciezka, false);
}

function findSWF(movieName) {
  if (navigator.appName.indexOf("Microsoft")!= -1) {
    return window["ie_" + movieName];
  } else {
    return document[movieName];
  }
}

</script>';


No i problem jest w tym, że skrypt działa mi to tylko pod operą .

Pod firefox zdarzenie onchange działa ale już onload nie wywołuje funkcji.

Pod IE 8 w ogóle nie działa.a


Konsola błędów pod Firefox mówi, że tmp nie jest funkcją.
Pod IE mam komunikat, że tmp jest pusta lub nie jest obiektem.

Ma ktoś jakieś sugestie ?



Pod Firefox mi ruszyło jak dopisałem:

Kod
var tmp = new Object();


Funkcja zaczęła się ładować.

Pozostał jeszcze błąd pod IE :


Mam ostrzeżenie pod firefox, które wygada tak :

Cytat
Ostrzeżenie: Oczekiwano ":", ale odnaleziono "undefined". Deklaracja opuszczona.


a pod IE ostrzeżenie wygląda tak:


Cytat
Wiadomość: 'undefined' jest pusty lub nie jest obiektem
Wiersz: 102
Znak: 3


W 102 linii jest pusto


Ściągnąłem lepszy debugger pod IE:



IE czepia się : tego :


Kod
x = tmp.reload(sciezka);


No i nie wiem co to jest nie zdefiniowane.

Dalej mam ten problem

Ok. Coś mi świta. Wydaje mi się, że błąd dotyczy swfobject .

Mam wersję 1.5 . Czy ona działa pod ie 7 i 8 ? No i jaką wersję stosować z open flash chart ?
yevaud
uzyj jakiejs biblioteki, inaczej odkrywasz kolo na nowo
fiasko
Dla testów ściągnąłem sobie bibliotekę swfobject 2.2 - nie mam pojęcia jak ją wywołać w skrypcie .
Oczywiście w head mam ją zadeklarowaną i zaraz będę się tym bawił i łączył działanie z open flash chart.

W swfobject 1.5 to robiłem tak:

Kod
<div id="flashcontent">
This text is replaced by the Flash movie.
</div>

<script type="text/javascript">
var so = new SWFObject("http://www.test.pl/ajax/konfiguratorpc.swf", "mymovie", "500", "200", "8", "#336699");
so.addParam("quality", "low");
   so.addParam("wmode", "transparent");
   so.addParam("salign", "t");
   so.write("flashcontent");

</script>


No ale podobno te metody są już przestrzale.

Nadal nie wiem o co chodzi z tym undefinited dla IE 8 . Jak ktoś się spotkał z takim problemem to proszę o info.
Spróbuję wywołać contenet w jquery.

Dla wersja 2.2 znalazłem taką metodą wywoływania:

Działa pod IE 8 , Opera i firefox .

Kod
<script type="text/javascript">
        swfobject.registerObject("flashcontent2", "9.0.0", "expressInstall.swf");
        </script>


<div>    
            <object id="flashcontent2" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="300" height="220">
                <param name="movie" value="konfiguratorpc.swf" />
                <!--[if !IE]>-->
                <object type="application/x-shockwave-flash" data="konfiguratorpc.swf" width="500" height="220">
                <!--<![endif]-->
                <div>
                    <h1>tekst alterantywny</h1>
                    
                </div>
                <!--[if !IE]>-->
                </object>
                <!--<![endif]-->
            </object>
        </div>


Pytanie jak zrobić przeładowanie takiego skryptu w Ajax lub jquery tak aby działało dla każdej przeglądarki ?


Dziś przebudowałem wykresy na open flash chart 2.

Wywołuję to tak :
Kod
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1250">
<meta>

<script type="text/javascript" src="http://www.poooz.pl/seo_poz/function/wykresy/js/swfobject_2_2.js"></script>



</head>
<body onload="laduj();">

<form action="">
<select id="keywords_select" name="wyb" onChange="laduj();" >
<option value="10">10</option>
<option value="20">20</option>
</select>

</form>

<?
include("/function/wykresy3/php-ofc-library/open-flash-chart.php"
);



echo '
<script type="text/javascript">



function laduj(){





url ="http://www.poooz.pl/seo_poz/function/wykresy/dane_chart2.php?key_id='.$id.'";


    
    
    swfobject.embedSWF("http://www.poooz.pl/seo_poz/function/wykresy3/open-flash-chart.swf", "chart", "780", "550", "9.0.0", "expressInstall.swf",
{"data-file": url});
    
    
    
    
}

</script>
'
?>
<div id="chart"></div>






</body>
</html>





Pytanie :

Jak przekazać wartość pola onchange do zmiennej url w javascript dla zmienej $_GET key_id ?



ok już sobie poradziłem z tym. - można zamknąć
mkdes
Użyj jQuery.
Kod
$(function() {
    $('#id_elementu').change(function() {
          // ..... operacje ....
    });
});
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.