šablona, syntaxe proměnné v tagu
- fidLi
- Člen | 41
Ahoj, nedaří se mi správně zapsat proměnná
v iteraci foreach :
<a href="#" onclick="$('#{$item->item_id}a').slideToggle('fast');">A</a>
Výsledný kód
<a href="#" onclick="$('#"e;170001"e;a').slideToggle('fast');">A</a> atd...
zkoušel jsem kombinace \" ' . {$promena} . '
nic nefungovalo, pokud vypíšu ručně #170001a tak to funguje, mým záměrem je tedy zapsat to správně tak, aby byl výsledek
<a href="#" onclick="$('#170001a').slideToggle('fast');">A</a>
<a href="#" onclick="$('#170002a').slideToggle('fast');">A</a>
.
.
.
- kravčo
- Člen | 721
fidLi napsal(a):
funguje to s tim vykřičníkem, děkuji
Určite neodporúčam verziu s výkričníkom, pretože vnáša do kódu
neošetrenú premennú (možné XSS) a rozhodne nie je best
practice! Iste pokiaľ vypisuješ vlastné
$item->idem_id
, ktoré máš pod kontrolou, je to egál, ale
akonáhle nie, prestáva to byť jedno a začínajú to byť dve. Dve
s rozdielom v tom, či je v $item->item_id
nejaký znak,
ktorý treba escapovať – napr. ak je v ňom nejaká zloba typu:
"><script type="text/javascript">alert(1);</script>
.
Používaj už odteraz iba
<a href="#" onclick="$('#'+{$item->item_id}+'a').slideToggle('fast');">A</a>
a nevnesieš si do iného kódu niekedy neskôr bezpečnostnú dieru.