подскажите новичку пожалуйста с вставкой в форму
здравствуйте, помогите плиз.
есть форма (типа 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, время: 05:55. |