Autor Zpráva
ahoj
Profil *
Používám http://www.barelyfitz.com/projects/tabber, v různých projektech, už nějakou dobu a bez problému.

Teď to ale pouižívám trochu netypicky, a to tak, že celý ten <div class="tabber"> a jeho obsah dohrávám do stránky ajaxem. A děje se mi to, že mi pro ten obsah nefunguje css. Ten obsah je nenastylovaný. Přitom když naprosto stejné html, co tam dohrávám, dám do té stránky natvrdo, tak vše vypadá jak má.

Teď jsem v rámci různých experimentů zjistil, že když do funkce, která volá ten AJAX, přidám alert, tak to css funguje. a nevím proč.
Dá se na základě toho popisu něco poradit?

function appendprops2(ids) {

  var url="axdetail.php";
  url=url+"?iids="+ids;
  url=url+"&sid="+Math.random();

  xmlhttp=GetXmlHttpObject();
  if (xmlhttp==null) {
    alert ("Browser does not support HTTP Request");
    return;
  }

  xmlhttp.onreadystatechange=appendprops2done;
  xmlhttp.open("GET",url,true);
  xmlhttp.send(null);

  alert ("ok"); // <- toto když je, tak css funguje
}

function appendprops2done() {
  if (xmlhttp.readyState==4) {
    res=xmlhttp.responseText;
    res = trim(res);

    var div = document.createElement("div");
    div.innerHTML = res;
    document.getElementById('appenddiv').appendChild(div);
  } else {
  }
}



css samozřejmě přilinkovávám v indexu, ne v tom přihrávaném obsahu. Tam se generuje vyloženě to <div class="tabber">.. // .. </div>
peta
Profil
Tezko rici. Mas ukazku? Treba je problem v tom, ze nedostavas ciste html kod, ale treba i nejake utf skryte znaky.
xmlhttp.readyState==4 rozhodne neni dostacujici kontrola pro stazeni souboru ajaxem. Tam se kontroluje jeste status 200 na serveru. Zkus pouzit ajax pomoci jquery, jestli to bude delat take?
Chamurappi
Profil
Reaguji na ahoje:
Popis problému mi připadá podivný. Opravdu nefunguje jen CSS? To bych chtěl vidět živou ukázku.

celý ten <div class="tabber"> a jeho obsah dohrávám do stránky ajaxem
Inicializace onoho skriptu z tabber.js se provádí kdy? Koukal jsem se do něj, snaží se navěsit na onload. Takže pokud do HTML přidáš něco, s čím by měl pracovat, později, nevšimne si toho. Pokud uvedené AJAXové dotažení provádíš už při načítání, tak alertem zastavíš do doby odklepnutí zpracování zbytku stránky — AJAX načte odpověď, nastaví se innerHTML a to vše se stihne před onloadem, proto tabber.js zafunguje.


Reaguji na peta:
xmlhttp.readyState==4 rozhodne neni dostacujici kontrola pro stazeni souboru ajaxem
Samozřejmě, že je. Status v drtivé většině případů není zajímavý, je to jen další místo, kterým jde předat informace.

Zkus pouzit ajax pomoci jquery, jestli to bude delat take?
Tím si nepomůže, ten dělá totéž.
ahoj
Profil *
Chamurappi:
Vypadá to, že máš asi pravdu. Nezvládám ale JS tak dobře, abych to dal dohromady.
Dokázal bys prosím tě z toho rozeznat, co s tím? Řekl bych, že stačí tu inicializaci udělat až na konci toho AJAXU, ale tom tabber.js se neorientuju.

Někam to nahrát by vůbec nebyla sranda. Samozřejmě to běží nad databází, jsou tam sessions..

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0