Autor | Zpráva | ||
---|---|---|---|
x Profil * |
#1 · Zasláno: 16. 4. 2008, 13:45:27
ahoj,
problem "unterminated string literal", nemohu ho vyresit...., viceradkovy string pomoci xslt sestavuji dynamicky atributy funkci v atributu onclick v html elementu, vzdy je jednim parametrem dlouhy text dotahovany z db.... na strane serveru je pri pridavani z textarea text osetren, tudiz touto cestou pridavane zaznamy jsou bezproblemu, no jo, ale dalsi cestou jak pridavat do db je rucne pres db nastroje, tudiz tento problem nastava prave zde... ptam se, zdali se "unterminated string literal", lze osetrit na urovni xslt |
||
peta Profil |
#2 · Zasláno: 16. 4. 2008, 14:40:02
x
Bez konkretnich udaju nelze zjistit proc k chybe doslo, jaky text to byl a pod. Je mozne, ze mas chybu ve scriptu, nejakou uvozovku uprostred textu, ktera ukonci retezec. Viz pripad stareho PHP-RS. Vubec to nemusi souviset s XSLT. |
||
x Profil * |
#3 · Zasláno: 16. 4. 2008, 14:50:37
peta...
toto je vystup, kt. sestaven xslt sablonou <tr onclick="testovaciFce('param1','param2','dlouhy predlouhy text');"</tr> uvozovky,apostrofy jsou osetreny.... prave, chyba proste byla v tom, ze string byl viceradkovy nicmene sem to obesel...., jednotlive hodnoty sem si ulozil do input.hidden.value na radce a predal fci input.value jako parametry a jejich spravne sparovani sem zajistil pomoci generate-id |
||
x Profil * |
#4 · Zasláno: 16. 4. 2008, 14:56:32
<xsl:template match="/ciselnik/uroven/content/row" mode="datova-cast"> <tr> <xsl:if test="/ciselnik/setting/double_click = 'true'"><xsl:attribute name="ondblclick">zavolejDalsiUroven();</xsl:attribute></xsl:if> <xsl:attribute name="onclick"> <xsl:text>cis_selRow(this);naplnHodnoty(</xsl:text><xsl:apply-temp lates select="/ciselnik/uroven/header/column[@name]" mode="js-parametry-funkce"><xsl:with-param name="row" select="." /><xsl:with-param name="id" select="generate-id()"/></xsl:apply-templates><xsl:text>);</xsl:text> </xsl:attribute> ..... </xsl:template> <!-- xsl:template match="/ciselnik/uroven/header/column[@name]" mode="js-parametry-funkce"><xsl:param name="row"/>'<xsl:value-of select="translate($row/column[@n=current()/@n],'\u000A','')" disable-output-escaping="yes"/>'.replace(new RegExp('\n', 'g',''))<xsl:if test="last() > position()"><xsl:text>,</xsl:text></xsl:if></xsl:template--> <xsl:template match="/ciselnik/uroven/header/column[@name]" mode="js-parametry-funkce"> <xsl:param name="row"/> <xsl:param name="id"/> document.getElementById('<xsl:value-of select="concat(@name,'_',$id)"/>').value<xsl:if test="last() > position()"><xsl:text>,</xsl:text></xsl:if> </xsl:template> <!-- tahle vomacka je kvuli tomu, ze kdyz je v db viceradkovy text, tak jsko hazi chybu 'interminated literal string' --> <xsl:template match="/ciselnik/uroven/header/column[@name]" mode="metadata-js-fce"> <xsl:param name="row"/> <xsl:param name="id"/> <input id="{@name}_{$id}" type="hidden" value="{$row/column[@n=current()/@n]}"/> </xsl:template> <!-- generuje telo funkce, v kt. se value objektu naplni promennou, kt. odkazuje na parametry fce --> <xsl:template match="/ciselnik/uroven/header/column[@name]" mode="js-telo-funkce"> document.getElementById('<xsl:value-of select="@name"/>').value = <xsl:value-of select="@name"/>; </xsl:template> //js funkce je take dynamicky sestavoavna..., muze mit n parametru function naplnHodnoty(param1,param2,param3){ getId(cosi).value = param1 ... ... } |
||
Chamurappi Profil |
#5 · Zasláno: 16. 4. 2008, 16:30:03
Reaguji na x:
„uvozovky,apostrofy jsou osetreny.... “ Jestli jsi je ošetřil tím, že jsi přidal zpětné lomítko „\“, tak přesně stejně můžeš ošetřit i konec řádku. |
||
Časová prodleva: 16 let
|
0