Переведу сабж... мне нужно, чтобы я мог по нажатию на смайл получить его код сразу в <textarea> Я в яваскрипте только по XSS ориентируюсь...на такое меня не хватает. Помогите кто чем могёт) с меня +5
var smile_code; function emoticon(smile_code) { txt = document.getElementById('text'); txt.value = txt.value + smile_code; }
При больших объемах текста в текстареа лучше делать Code: var smile_code; function emoticon(smile_code) { txt = document.getElementById('text'); txt.value += smile_code; }
Ф-ия принимает 1 параметр - smile_code. document.getElementById('text'); возвращает обьект , в данном случае тот куда мы будем добавлять значение (value) .. у кадого обьекта айди уникален Если такого элемента нет то возвращается Null дальше в txt.value += smile_code; мы тупо добавляем к полю в котором уже есть что-то - код смайлика так как код смайлика не такой уж и большой обычно то я бы все же заюзал txt.value = txt.value + smile_code;
>>document.getElementById('text'); то есть тут я должен указать название своей <textarea>? >>в txt.value а тут не text.value должно быть?
Ладн.. более простой пример <script type="text/javascript"> function someshit() { var ururu=document.getElementById("xekxek") alert(ururu.innerHTML) } </script> </head> <body> <h1 id="xekxek" onclick="someshit()">Это хенко</h1> т.е. у <h1>Это хенко</h1> есть айди xekxek, мы его заносим в перемеенную ururu.. и теперь при клике на наш "Это хенко" у нас вылезает алерт с тем что в <h1></h1> (innerHTML) .. нуесли убрать innerHTML то вылезет полностью все , но в принципе не важно главное задай каждому смайлику какойто айдишник..
хнык... я уже стал ненавидеть потихоньку JavaScrpt... может кто-нить замутить конкретный пример под мой вопрос? вот смарите... если на античате нажать на картинку(вверху от поля воода сообщения), то в самом поле ввода появятся, ну например, теги цитаты. А мне надо чтобы при абсолютно таком же нажатии на смайлик в поле ввода появлялось ну например :lol:
когда то давным давно писал простейшую гостевую книгу вот держи исходники html HTML: <script> function text(msg) { document.all.mess.focus(); document.all.mess.value+=msg; } function get() { document.all.schet.value=document.all.mess.value.length; setTimeout('get()',10); } </script> <form action = 'gb_w.php' name=write method=POST> <table border=0 cellSpacing=1 cellPadding=1 bgColor=#000000> <tr><td bgcolor = 'white'>Ваше имя: <input type = text maxlength = 10 size=10 name='name'>    Ваш e-mail: <input type = text name = 'e_mail' maxlength = 40 size=20> <td bgcolor = 'white'>Номер ICQ: <input type = text maxlength = 7 size=7 name='icq'> <tr><td bgcolor = 'white'><textarea cols=45 rows=10 name=mess onFocus='get()'></textarea> <td bgcolor = 'white' valign=top> <img src = images/gb_img/1.png onclick=text('s_1')>    <img src = images/gb_img/2.png onclick=text('s_2')>    <img src = images/gb_img/3.png onclick=text('s_3')>    <img src = images/gb_img/4.png onclick=text('s_4')>    <img src = images/gb_img/5.png onclick=text('s_5')>    <br><img src = images/gb_img/6.png onclick=text('s_6')>    <img src = images/gb_img/7.png onclick=text('s_7')>    <img src = images/gb_img/8.png onclick=text('s_8')>    <img src = images/gb_img/9.png onclick=text('s_9')>    <img src = images/gb_img/10.png onclick=text('s_10')>    <br><img src = images/gb_img/11.png onclick=text('s_11')>    <img src = images/gb_img/12.png onclick=text('s_12')>    <img src = images/gb_img/13.gif onclick=text('s_13')>    <img src = images/gb_img/14.gif onclick=text('s_14')>     <tr><td align=center bgcolor = 'white'> <input type=submit name=go value='Отправит' > <td bgcolor = 'white' valign=bottom>MAX символов 250: <input type=text name=schet value=0 size=1></td></tr> </table> </form><br>
а вот смарите какая у меня штука.... HTML: <a style="cursor: pointer;" href="#" onclick="text(':)'); return false;"><img src="images/smiles/smile1.gif" alt="Улыбка" border="0" align="absmiddle"></a> <a style="cursor: pointer;" href="#" onclick="text(';)'); return false;"><img src="images/smiles/smile2.gif" alt="Подмигнуть" border="0" align="absmiddle" ></a> <textarea> имеет в себе onFocus='get()' но смайлы не втыкиваются
focus сделан только лишь для удобства чтобы юзверь тыкнул на смайл и ему не пришлось тыкать еще и на поле гиде он пишет. А нафига ты в тег A пихнул картинку? ну если енто принципиально чтоб тег А был то сделай так HTML: <a style="cursor: pointer;" href="#"><img src="images/smiles/smile1.gif" alt="Улыбка" border="0" align="absmiddle" onclick="text(':)'); return false;"></a>
хм =\ ну есть 2 вариант HTML: <a style="cursor: pointer;" href="javascript:onclick=text('s_9')"><img src="images/smiles/smile1.gif" alt="Улыбка" border="0" align="absmiddle"></a>
и еще проверь что у тебя точно поле в которое вставляется смайл называется как у меня в скрипте (у меня mess)
<a href="#" onclick="smilie(''); return false;"><img src="images/smilies/smile.gif" alt="Smile" border="0" /></a> как тут в булке..
у меня так: HTML: <textarea name=mess rows=7 COLS=54 onFocus='get()'></textarea> <script> function text(msg) { document.all.mess.focus(); document.all.mess.value+=msg; } function get() { document.all.schet.value=document.all.mess.value.l ength; setTimeout('get()',10); } </script> <table border="0" cellpadding="0" cellspacing="0"><tr><td nowrap> <a style="cursor: pointer;" href="#" onclick="text(':)'); return false;"><img src="images/smiles/smile1.gif" alt="Улыбка" border="0" align="absmiddle" /></a> <a style="cursor: pointer;" href="#" onclick="text(';)'); return false;"><img src="images/smiles/smile2.gif" alt="Подмигнуть" border="0" align="absmiddle" /></a> и другие варианты я пробовал.. не катит) такое ощущение, что ошибка вообще где-то не тут... Но где???
PHP: <form name=form> <textarea name=mess rows=7 COLS=54></textarea> </form> <script language="JavaScript"> function Smilies(Smilie) { form.mess.value+=" "+Smilie+" "; form.Form.mess.focus(); } </script> </head> <body> <a style="cursor: pointer;" href=javascript:Smilies(':wtf:')><img src=smile/wtf.gif border=0></a> Проверял на Opera и IE, все ок. А что вобще пишешь то? Если небольшое что - то, могу попробовать покопаться в скриптах.
Для решения подобной задачи достаточно посмотреть исходник загруженной страницы любого форума... Но вот как это по разному реализовать - почитал. Интересно. Сам сейчас этим занимаюсь...
я точно скоро сойду с ума... HTML: <tr><td align=left class=p valign=top><font color=white>*Сообщение (Не более 1000 символов):</font><br><textarea name=mess rows=7 COLS=54></textarea></td></tr> <tr><td class=p colspan=2><input class=p type=submit value=Отправить name=add> * – поля обязательные для заполнения.</td></tr> <script language="JavaScript"> function Smilies(Smilie) { form.mess.value+=" "+Smilie+" "; form.Form.mess.focus(); } </script> <table border="0" cellpadding="0" cellspacing="0"><tr><td nowrap> <a style="cursor: pointer;" href="javascript:Smilies(':)'); return false;"><img src="images/smiles/smile1.gif" alt="Улыбка" border="0" align="absmiddle" /></a> <a style="cursor: pointer;" href="javascript:Smilies(';)'); return false;"><img src="images/smiles/smile2.gif" alt="Подмигнуть" border="0" align="absmiddle" /></a> не работает. IE пишет что есть ошибки на странице и аргументирует тем, что return находится вне ф-ции. Если его убрать, смайлик ваще пропадает из поля выбора смайла