Autor Zpráva
David1256
Profil
Snažím se udělat, aby se mi po kliknutí na odkaz nezměnila celá stránka, ale pouze jeden div. Našel jsem pro ten účel AjaxLoader, ale pořád mi to nefunguje a nevím, kde mám chybu.

HEAD:
<HEAD> 
     <style type="text/css"> 
       <!-- 
          #ajaxdiv { 
          position:absolute; 
          width:200px; 
          height:115px; 
          z-index:1; 
          left: 200px; 
          top: 200px; 
          background-color:black;
          } 
       --> 
     </style> 
     <script type="text/javascript"> 
     <!—Begin 
          function ajaxLoader(url,id) { 
               if (document.getElementById) { 
                    var x = (window.ActiveXObject) ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest(); 
               } 
               if (x) { 
                    x.onreadystatechange = function() { 
                         if (x.readyState == 4 && x.status == 200) { 
                              el = document.getElementById(id); 
                              el.innerHTML = x.responseText; 
                         } 
                    } 
                    x.open("GET", url, true); 
                    x.send(null); 
               } 
          } 
     //--> 
     </script> 
</HEAD>


BODY:
<BODY onload="ajaxLoader('index.php','ajaxdiv')">


div:
<div id="ajaxdiv">
</div>


Chtěl bych, aby se mi do divu ajaxdiv nahrál obsah index.php. A ještě bych se chtěl zeptat, jak udělat aby to reagovalo na odkaz to dám tu funkci onload..... do <a>?
David1256
Profil
Opravdu si s tím nevíte někdo rady?
David1256
Profil
Ještě jednou si dovoluji připomenout svůj dotaz.
Chamurappi
Profil
Reaguji na Davida1256:
Na prvním řádku máš „<!—Begin“. Tedy menšítko, vykřičník, typografickou pomlčku a slovo… to ti snad všechny prohlížeče musí zahlásit syntaktickou chybu, ne?

Opravdu si s tím nevíte někdo rady?
Tím, že si sám odpovíš, se vyřazuješ ze seznamu nezodpovězených dotazů, čímž si snížíš pravděpodobnost zodpovězení. Zvýšit bys ji naopak mohl, kdybys místo (kdovíjak nedokonalého) kopírování dlouhého zdrojáku odkázal na živou ukázku.
David1256
Profil
Tak jsem opravil to
<!—Begin
a už to funguje, ale dokáže to do toho divu dát jen soubory .html, .php, .htm, obrázky bohužel ne, ale to až tak nevadí. Jen mi prosím ještě poraďte, jak udělat ten odkaz. Respektive, aby se po kliknutí na odkaz do toho divu umístila jiná stránka. A tady je živá ukázka.
Chamurappi
Profil
Reaguji na Davida1256:
Zavolat funkci při onloadu už ti jde, tak ji zkus volat i při onclicku na odkazu. Kdybys chtěl, aby AJAXem stahovaná adresa nějak vycházela z adresy prokliknutého odkazu (třeba aby v ní byl navíc parametr informující PHP, že má poslat jen obsah a ne hlavičku), tu zjistíš z this.href.
_es
Profil
David1256:
aby se po kliknutí na odkaz do toho divu umístila jiná stránka.
Môžeš použiť iframe a máš to bez Ajaxu aj bez JS.
David1256
Profil
_es:
Iframe má ale jednu nevýhodu neroztahuje se podle obsahu, proto potřebuju ajax.
Chamurappi:
Tak jsem to udělal, ale asi nějak špatně, protože mi to pořád nefunguje.
David1256
Profil
Nějaký nápad?
Chamurappi
Profil
Reaguji na Davida1256:
Ne. Nevím, na co se ptáš. Skript na odkázané stránce funguje.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0