![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 209 Pomógł: 37 Dołączył: 27.02.2008 Skąd: Kwidzyn Ostrzeżenie: (0%) ![]() ![]() |
witam,
stosunkowo niedawno zacząłem zabawę z Ajaxem i mam pytanie, czy dozwolone jest w jakiś sposób coś takiego: Kod xmlHttp.onreadystatechange=fun; zamiast Kod xmlHttp.onreadystatechange=stateChanged; gdzie fun, to parametr z funkcji. przy wywoływaniu change_content chciałbym dać w parametrze, która z funkcji ma zostać wykonana - stateChanged(), czy validate_temat(). Z góry dzięki za jakieś wskazówki. Kod skryptu poniżej, funkcję wywołuje np. Kod onclick="change_content('main.php','img/01_main.jpg','stateChanged'); return false;"> Kod var xmlHttp;
var img_strona; function change_content(url,img_str,fun) { xmlHttp=GetXmlHttpObject(); if (xmlHttp==null) { alert ("Browser does not support HTTP Request"); return; } img_strona=img_str; var params = ""; xmlHttp.onreadystatechange=stateChanged; //xmlHttp.onreadystatechange=fun; xmlHttp.open("POST",url,true); xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xmlHttp.setRequestHeader("Content-length", params.length); xmlHttp.setRequestHeader("Connection", "close"); xmlHttp.send(params); } function stateChanged() { //alert('jest'); if (xmlHttp.readyState==1) { document.getElementById("content_right").innerHTML='Proszę czekać...'; document.body.style.cursor = "wait"; } if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") { document.getElementById("content_right").innerHTML=xmlHttp.responseText; document.body.style.cursor = "default"; document.getElementById("top_page_img").innerHTML="<img src='"+img_strona+"' alt='>"; } } function validate_temat() { if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") { document.getElementById("temat").style.color="red"; } } function GetXmlHttpObject() { var xmlHttp=null; try { // Firefox, Opera 8.0+, Safari xmlHttp=new XMLHttpRequest(); } catch (e) { //Internet Explorer try { xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); } } return xmlHttp; } Ten post edytował nitek 16.03.2009, 18:00:42 -------------------- |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
Mozesz, ale przekazac musisz funkcje
Kod onclick="change_content('main.php','img/01_main.jpg',stateChanged); return false;"> -- bez apostrofowa nie jej nazwe Kod onclick="change_content('main.php','img/01_main.jpg','stateChanged'); return false;"> A czemu nie zainteresujesz sie bibliotekami do JS/Ajaxa? jQuery, Prototype, mootools, czy inna - uprosci ci to prace z ajaxem i JSem -------------------- Nie lubię jednorożców.
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 209 Pomógł: 37 Dołączył: 27.02.2008 Skąd: Kwidzyn Ostrzeżenie: (0%) ![]() ![]() |
Dzięki!
O to mi właśnie chodziło, a na to rozwiązanie mimo kombinowania nie wpadłem ![]() A czemu nie zainteresujesz sie bibliotekami do JS/Ajaxa? jQuery, Prototype, mootools, czy inna - uprosci ci to prace z ajaxem i JSem Bawiłem się m.in. mootols'em, ale lubię wiedzieć jak to wszystko działa ![]() pzdr! -------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 12:17 |