Autor Zpráva
Jape
Profil
Zdravím,
pomocí php vytvářím takovéto menu:
<nav>
<ul>
<li><a href="?s=brand">brand</a></li>
<li><a href="?s=tradition">tradition</a></li>
<li><a href="?s=store">store</a></li>
<li><br /></li>
<li><a href="#" onclick="$('.designlight').slideToggle('medium');return false;">design light</a></li>
<ul class="designlight">
<li>- <a href="?s=grande">grande</a></li>
<li>- <a href="?s=simple">simple</a></li>
<li>- <a href="?s=sirius">sirius</a></li>
</ul>
</ul>
problém nastane když kliknu na design light, měl by se zobrazit seznam s třídou design light, to se však nestane a chrome vypíše chybu Uncaught SyntaxError: Unexpected token ILLEGAL. Skript nefunguje ani v jiných prohlížečích. třída design light je načítána z proměnné, která je v souboru, ze souboru ji tahám pomocí tohoto skriptu:
$file_con = file_get_contents($dir."/info.html");
while (!feof($info_file) )
                        {
                             $line_of_text = fgets($info_file);
                            $parts = preg_replace("/^(.*?): (.*?)(\n|$)/", "\\1:\\2", $line_of_text);
                            $parts = str_replace("\n", "", $parts);
                            $parts = explode(':', $parts);
                            $info[$parts[0]] = $parts[1];
                        }
V mozille je vidět, že za třídou designlight je konec řádku, to by mohlo dělat neplechu při volání třídy, v regulárním výrazu se mi však nedařilo konec řádku odstranit a v chromu se konec řádku nezobrazuje. Nevíte někdo jak problém vyřešit?
_es
Profil
Jape:
Naštuduj si, ako sa má zoznam správne vkladať do iného zoznamu: Seznamy » ul
Jape
Profil
To samozřejmě vim, ale chybu na chybu to žádný vliv nemá. Nějaký jiný nápad?
_es
Profil
Jape:
To samozřejmě vim, ale chybu na chybu to žádný vliv nemá.
Akože nemá? Dal si do toho zoznamu zakázanú značku.
Chamurappi
Profil
Reaguji na _es:
Dal si do toho zoznamu zakázanú značku.
Což může způsobit, že si některé prohlížeče strukturu seznamu přeformulují, ale nezpůsobí to syntaktickou chybu v JavaScriptu.


Reaguji na Japeho:
Nevím, proč nám posíláš PHP kód, nám i prohlížeči je celkem jedno, jak menu sestavuješ, zajímá nás finální kód.

V mozille je vidět, že za třídou designlight je konec řádku
Kde? My ho tady nevidíme. Jestli neumíš ukázat finální zdrojový kód, odkaž na stránku.
Bílé znaky v atributu class se ignorují. (Edit: Myšleno krajní bílé znaky.)
Jestli máš neošetřené odřádkování uvnitř javascriptového řetězce, tak to samozřejmě syntaktická chyba je.
Jape
Profil
V mozille vypadá zdrojový kód takto:
<nav>
    <ul>
    <li><a href="?s=brand
">brand
</a></li>
<li><a href="?s=tradition
">tradition
</a></li>
<li><a href="?s=store
">store
</a></li>
<li><br /></li>
<li><a href="#" onclick="$('.designlight
').slideToggle('medium');return false;">design light
</a></li>
<ul class="designlight
">
<li>- <a href="?s=grande
">grande
</a></li>
<li>- <a href="?s=simple
">simple
</a></li>
<li>- <a href="?s=sirius
">sirius
</a></li>
</ul>
</ul>
</nav>

Nevím, proč nám posíláš PHP kód, nám i prohlížeči je celkem jedno, jak menu sestavuješ, zajímá nás finální kód.

Kód jsem posílal, protože si nejsem jistý, jestli mi tam někde neuniká konec řádku do html. K tomu mě napadá další dotaz. Struktura souboru ze kterého beru proměnné vypadá takto:
name: nazev
dir_name: nazev_slozky
viděl jsem to už několikrát, tak bych z toho chtěl jednoduše vytvořit pole proměnných s určitým klíčem. což se mi myslím funkcí povedlo, ale zaráží mě ta "divná mezera"

"Bílé znaky v atributu class se ignorují."
Když se ignorují, co znamená ta chybová hláška?
Chamurappi
Profil
Reaguji na Japeho:
Když se ignorují, co znamená ta chybová hláška?
Ta se týká javascriptového řetězce, uvnitř něj máš neošetřené odřádkování.

protože si nejsem jistý, jestli mi tam někde neuniká konec řádku do html
Asi uniká, to vysvětluje tu syntaktickou chybu. Možná by ses měl s konci řádku lépe seznámit.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0