Autor Zpráva
smonkey
Profil
Zdravím, potřeboval bych poradit, jak zprovoznit tlačítko v JS. Vše popíšu:

Představme si, že mám klasickou textareu a někde u toho talčítka, po kliknutí na talčítko se do textarey odešle <strong></strong>.
--> Todle funguje bez problému.
Pokud ale určím, aby se při kliknutí na talčítko do textarey napsalo <a href=""></a>, talčítko nereaguje.

Zde je úryvek kódu:
Script:
<script>
function input(val){
document.getElementById('text').value += val;
}
</script>

Input:
<input type='button' onclick='input("<strong> </strong>")' value='Tučné'>
<input type='button' onclick='input("<a href=""> </a>")' value='URL'>

Přepokládám, že bude chyba v uvozovkách --> Zkoušel jsem zaměňovat, nepomohlo. Za odpovědi děkuji :-)
PS: Ten druhý kód (Input) není v [pre][/pre] z důvodu že se místo <> zobrazovali entity...
Kouzelnick
Profil *
smonkey:
Používám jiný postup, funguje, uprav si to podle sebe, viz kde jsou uvozovky, apostrofy, entity.
<input type="button" onclick="document.formular.zprava.value+='<a href=&quot;http://&quot;></a>'" value="odkaz">
Trejpa
Profil
smonkey:
<input type='button' onclick='input("<a href=\"\"> </a>")' value='URL'>
smonkey
Profil
Trejpa:
Mockrát děkuji :-) Funguje to...
Trejpa
Profil
Kouzelnick:
Entity se v tomto případě interpretují, takže tvoje řešení nefunguje.
Chamurappi
Profil
Reaguji na Trejpu:
Řekl bych, že Kouzelnickovo řešení fungovat bude. Ano, entity interpretují, ale to znamená, že se mu uvnitř atributu uvnitř řetězce ocitnou obyčejné uvozovky, které ovšem HTML parser při načítání <input>u nebere jako hranice atributu.
Trejpa
Profil
Chamurappi:
Fungovat to bude za předpokladu správného zanoření uvozovek ( " ' &quot; ). V případě zanoření podle úvodního příspěvku ( ' " &quot; ) to fungovat nebude.
peta
Profil
Trejpa:
on tam ale napsal "uprav si to podle sebe". Cili, kdyz prehaze uvozovky podle jeho prikladu a ne jen nahradi jedny, ale vsechny, pak to bude fungovat.
Kazdopadne ja bych pouzil tvuj priklad s lomitky.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

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

0