Skocz do zawartości

ITX, JS i znaki niedrukowalne


qwertyuiop

Rekomendowane odpowiedzi

jest sobie taki kawałek kodu:

<script type="text/javascript">
var names = new DynamicOptionList();
names.addDependentFields("id_kat","id_podkat");
names.forValue("0").addOptionsTextValue(<!-- BEGIN podkategoria -->{KAT_NADRZEDNA2}<!-- END podkategoria -->);
</script>

Który ma za zadanie podstawić odpowiednie wartości do tego selekta:

<select name="id_podkat">
<script type="text/javascript">names.printOptions("names");</script>
</select>

Niestety nie działa :shout: z powodu znaków niedrukowalnych.

Jeśli zamiast "<!-- BEGIN podkategoria -->{KAT_NADRZEDNA2}<!-- END podkategoria -->" podstawię ""Text1","Value1","Text2","Value2"" działa ok

W tan sposób jest generowany "KAT_NADRZEDNA2":

while ($podkategoria = mysql_fetch_array($resultpodkategoria)) {
$tpl->setCurrentBlock('podkategoria');
$tpl->setVariable('KAT_NADRZEDNA2', '"'.$podkategoria['nazwa'].'","'.$podkategoria['id'].'",');
$tpl->parseCurrentBlock();
}

a JS konsola zwraca taki taki błąd:

Błąd: syntax error
Wiersz: 88, Kolumna: 66
Kod źródłowy:
............................................names.forValue("0").addOptionsTextValue("tskategoria1","63",);

zamiast kropek są spacje ;), Jak usunąć te spacje ?

"Dopiero gdy wolna wola znowu zaskoczyła, przerwali bieg po torze przeszkód ich własnej konstrukcji."

Odnośnik do komentarza
Udostępnij na innych stronach

hehe, te spacje nie mają nic do rzeczy ale daj taki kod php:

while ($podkategoria = mysql_fetch_array($resultpodkategoria)) {
$tpl->setCurrentBlock('podkategoria');
$tpl->setVariable('KAT_NADRZEDNA2', '"'.$podkategoria['nazwa'].'","'.$podkategoria['id'].'"');
$tpl->parseCurrentBlock();
}

stopka usunieta z wpoodu wirusa na stronie docelowej

Odnośnik do komentarza
Udostępnij na innych stronach

hehe, te spacje nie mają nic do rzeczy ale daj taki kod php:

Ten przecinek też nie :), sprawdzałem wcześniej. Wygenerowany kod jest ok.

<script type="text/javascript">
var names = new DynamicOptionList();
names.addDependentFields("id_kat","id_podkat");
names.forValue("0").addOptionsTextValue("tskategoria2","59","tskategoria1","63");
names.forValue("2").addOptionsTextValue("Text1","Value1","Text2","Value2");
names.forValue("3").addOptionsTextValue("Text1","Value1","Text2","Value2");
names.forValue("4").addOptionsTextValue("Text1","Value1","Text2","Value2");
</script>

Tylko nie działa ok :)

A konsola js swoje:

Błąd: syntax error names.forValue("0").addOptionsTextValue("tskategoria2","59","tskategoria1","63");

i kicha :D

chyba że masz może jakiś inny patent na dynamiczne selekty, byłbym zobowiązany :)

"Dopiero gdy wolna wola znowu zaskoczyła, przerwali bieg po torze przeszkód ich własnej konstrukcji."

Odnośnik do komentarza
Udostępnij na innych stronach

działa juz ale musiałem przebudować całość. dzięki za pomoc :D

dla potomnych (może ktoś kiedyś będzie potrzebował):)

całość javy od <script type="text/javascript"> do </script> musialem wygenerowac razem, a nie jak poprzednio przez <!-- BEGIN podkategoria -->{KAT_NADRZEDNA2}<!-- END podkategoria -->

P.S chyba mam syndrom programisty, zadaje pytania i sam na nie odpowiadam :) , szczytem wszystkiego jet to że siedzę i to wpisuje :)

P.S.S chyba czas odejść na jakiś czas od komputera :)

"Dopiero gdy wolna wola znowu zaskoczyła, przerwali bieg po torze przeszkód ich własnej konstrukcji."

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności