подскажите новичку пожалуйста с вставкой в форму
здравствуйте, помогите плиз.
есть форма (типа WYSIWYG) как на этом форуме вставляются смайлики справа, так же нужно вставлять коды html для удобства редактирования. как это простенько реализовать? код формы: <a href="admin.php">админка</a> </div><form method="post" action="admin.php"> Имя:<br/> <input type="text" name="name" maxlength="30"><br/> Коментарии:<br/> <select name="koment"> <option value="1">da</option> <option value="0">net</option> </select><br/> Голосование:<br/> <select name="gol"><br/> <option value="1">da</option> <option value="0">net</option> </select><br/> Текст:<br/> <textarea name="body" cols="30" rows="5"></textarea><br/> <input type=submit name=snd value="Добавить"> </form> |
А скрипт гдже?
|
<script language="javascript" type="text/javascript"> function ShowOrHide(d1) { if (d1 != '') DoDiv(d1); } function DoDiv(id) { var item = null; if (document.getElementById) { item = document.getElementById(id); } else if (document.all){ item = document.all[id]; } else if (document.layers){ item = document.layers[id]; } if (!item) { } else if (item.style) { if (item.style.display == "none"){ item.style.display = ""; } else {item.style.display = "none"; } }else{ item.visibility = "show"; } } function code(text) { var txtarea = document.post.body; text = '' + text + ''; if (txtarea.createTextRange && txtarea.caretPos) { var caretPos = txtarea.caretPos; caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? caretPos.text + text + ' ' : caretPos.text + text; txtarea.focus(); } else { txtarea.value += text; txtarea.focus(); } } </script> ниже коды котор нужно будет вставить при нажатии <a href="javascript:ShowOrHide("1")">Вставка</a> <div id="1" style="display:none;"> <a href="javascript:code("<div class="menu1"><img src="../loads/ext/dir.png" alt="" /> <strong> </strong></div> ")">зеленые ссылки</a> <a href="javascript:code("<div class="b"> </div>")">синее главное</a> |
проблема именно в том, что када на странице оставляю только 1 форму для текста, то в нее вставляет, а када две формы, (1-для названия, 2 -собсвено сам текст) то ничего не происходит, просмореть все это хозяйство вот тут http://vip.bodr.in/bl/admin.php?add=1&act=3&pass=111
|
Думаю что проблема здесь:
var txtarea = document.post.body; Во первых, так давно уже не пишут, а пишут например так var txtarea = document.getElementById(id); соответственно textarea: <textarea id="body-txt" cols="30" rows="5"></textarea> Разные textarea, разные id, самый простой способ сказать code куда надо вставлять это :) code('<div class="b"> </div>','body-txt') Соответственно: function code(text,id) { Кстати смысл делать вот это: if (document.getElementById) { item = document.getElementById(id); } else if (document.all){ item = document.all[id]; } else if (document.layers){ item = document.layers[id]; }? ie прекрасно понимает: document.getElementById(id), зачем проверять на совместимость там где совместимость есть? |
Часовой пояс GMT +3, время: 03:35. |