innerHTML <script>
var bbcode = document.getElementById('insert_bbcode'); bbcode.style.display = "block"; bbcode.style.border = "1px solid #ff0000"; bbcode.innerHTML = "<script>addBBcodeBar('paper_txt')</script>"; // не получается вставить <div id="insert_bbcode" style="display:none;"></div> почему не вставляется <script>...</script> вместо него пусто, тем не менее если использовать innerText, то всавить, но это не HTML... как вставить? |
var script = document.createElement("script"); script.src = "путь к скрипту"; script.type = "text/javascript"; document.getElementById('insert_bbcode').appendChild(script); |
то, что вы хотите получить:
<html> <head> </head> <body> <div id="insert_bbcode" style="display:none; border: none;"></div> <script> var bbcode = document.getElementById('insert_bbcode'); bbcode.style.display = "block"; bbcode.style.border = "1px solid #ff0000"; bbcode.innerHTML = ('\<script\>addBBcodeBar(\"paper_txt\")\<\/script\>'); </script> </body> </html> но работать вставленный скрипт всё равно не будет, ибо страница уже загружена. |
да, я так и делал, скрипт не работал, вот я и хочу попробовать как нибудь его подгрузить. пробую с createElement, еще наткнулся в инете на eval, можете что-нибудь подсказать про eval?
|
Старайтесь eval не использовать, да и тут негде и незачем его использовать.
|
Цитата:
может, легче будет получить её результат и уже его вставить в нужный блок? |
function addBBcodeBar(obj) { document.write('<div class="toolbar">'); document.write('<img class="button" src="images/bbcode/bold.gif" onClick="addTags(\'[b]\',\'[/b]\','+obj+')">'); document.write('<img class="button" src="images/bbcode/italic.gif" onClick="addTags(\'[i]\',\'[/i]\','+obj+')">'); document.write('<img class="button" src="mages/bbcode/underline.gif" onClick="addTags(\'[u]\',\'[/u]\','+obj+')">'); document.write('<img class="button" src="images/bbcode/strike.gif" onClick="addTags(\'[s]\',\'[/s]\','+obj+')">'); document.write('<img class="button" src="images/bbcode/link.gif" onClick="addURL('+obj+')">'); document.write('<img class="button" src="images/bbcode/image.gif" onClick="addImage('+obj+')">'); document.write('<img class="button" src="images/bbcode/quote.gif" onClick="addTags(\'[quote]\',\'[/quote]\','+obj+')">'); document.write('</div>'); } |
короче добавляет картинки с bb-кодами
|
ну вот. собирай это всё в одну строку и выводи в нужный блок :)
|
по-моему это как то глупо...:cray:
|
Цитата:
а потом var a = newfunction(); var b = document.getElementById('insert_bbcode'); b.innerHTML(a); |
Цитата:
|
Цитата:
|
Цитата:
|
<td><div id="[_id_comm]" class="div_script"><script>edToolbar('paper_txt');</script></div></td> а в JS перебрал по тегу div var elems = document.getElementsByTagName('div'); for (var i=0; i<elems.length; i++) { if (elems[i].id == [_id_comm]) elems[i].style.display = 'block'; } .div_script { padding-left: 6px; display: none; } |
О_О а смысл в этом какой? :)
и зачем перебирать все div'ы, когда уже известен id? |
Раед,
мне объяснили тут так: что любой человек, может в евале что угодно написать, и этот код выполниться, так как будто бы он для этого и предназначался, короче обернется все это плохими последствиями)) |
id неизвестен, просто это неполный код.
смысл в том что это для редактирования комментариев. я могу конечно целиком все скинуть, но это слишком громоздкий код. но если интересно могу скинуть. |
Цитата:
Цитата:
Цитата:
|
Цитата:
в самом деле, если не используются жесткие связки с сервером, eval — настолько же безобиден, как и document.write и прочие :) |
почему то перестали работать блоки URL и IMG, вернуля к вашему варианту
var str0 = '<div class="tag_a" id="window_tags_a"><div class="input"><input id="input_link_a" type="text" value="Введите ссылку"/><br><input id="input_text_a" type="text" value="Введите текст ссылки"/><div id="window_supmit_a" onClick="addURL(\'paper_txt\',1)"><p id="p_sub">ОК</p></div></div></div>'; var str1 = '<div class="tag_img" id="window_tags_img"><div class="input"><input id="radio_pos" type="hidden" value=""/><span id="radio_1" style="font-weight:100;cursor:pointer;color:#000;" onClick="positionImg(\'left\');">слева</span>     <span id="radio_2" style="font-weight:100;cursor:pointer;color:#000;" onClick="positionImg(\'center\');">центр</span>     <span id="radio_3" style="font-weight:100;cursor:pointer; color:#000;" onClick="positionImg(\'right\');">справа</span><input id="input_link_img" name="input_link_img" style="width:220px;" type="text" value="Введите ссылку"/><div id="window_supmit_img" onClick="addImage(\'paper_txt\',1)"><p id="p_sub">ОК</p></div></div></div>'; var str2 = '<div class="toolbar">'; var str3 = '<img class="button" src="templates/css/images/bbcode/bold.gif" title="Жирный" onMouseOver="changeImg(this,1)" onMouseOut="changeImg(this,0)" onClick="addTags(\'[b]\',\'[/b]\',\'paper_txt\')">'; var str4 = '<img class="button" src="templates/css/images/bbcode/italic.gif" title="Курсив" onMouseOver="changeImg(this,1)" onMouseOut="changeImg(this,0)" onClick="addTags(\'[i]\',\'[/i]\',\'paper_txt\')">' var str5 = '<img class="button" src="templates/css/images/bbcode/underline.gif" title="Подчеркнутый" onMouseOver="changeImg(this,1)" onMouseOut="changeImg(this,0)" onClick="addTags(\'[u]\',\'[/u]\',\'paper_txt\')">'; var str6 = '<img class="button" src="templates/css/images/bbcode/strike.gif" title="Перечеркнутый" onMouseOver="changeImg(this,1)" onMouseOut="changeImg(this,0)" onClick="addTags(\'[s]\',\'[/s]\',\'paper_txt\')">'; var str7 = '<img class="button" src="templates/css/images/bbcode/link.gif" title="URL-адрес" onMouseOver="changeImg(this,1)" onMouseOut="changeImg(this,0)" onClick="addURL(\'paper_txt\')">'; var str8 = '<img class="button" src="templates/css/images/bbcode/image.gif" title="Картинка" onMouseOver="changeImg(this,1)" onMouseOut="changeImg(this,0)" onClick="addImage(\'paper_txt\')">'; var str9 = '<img class="button" src="templates/css/images/bbcode/quote.gif" title="Цитата" onMouseOver="changeImg(this,1)" onMouseOut="changeImg(this,0)" onClick="addTags(\'[quote]\',\'[/quote]\',\'paper_txt\')">'; var str10 = '</div>'; var str = str0+str1+str2+str3+str4+str5+str6+str7+str8+str9+str10; некрасивый говнокод((( |
<html> <head> <script> function createStr(){ var str =''; str += '<div class="tag_a" id="window_tags_a"><div class="input"><input id="input_link_a" type="text" value="Введите ссылку"/><br><input id="input_text_a" type="text" value="Введите текст ссылки"/><div id="window_supmit_a" onClick="addURL(\'paper_txt\',1)"><p id="p_sub">ОК</p></div></div></div>'; str += '<div class="tag_img" id="window_tags_img"><div class="input"><input id="radio_pos" type="hidden" value=""/><span id="radio_1" style="font-weight:100;cursor:pointer;color:#000;" onClick="positionImg(\'left\');">слева</span>     <span id="radio_2" style="font-weight:100;cursor:pointer;color:#000;" onClick="positionImg(\'center\');">центр</span>     <span id="radio_3" style="font-weight:100;cursor:pointer; color:#000;" onClick="positionImg(\'right\');">справа</span><input id="input_link_img" name="input_link_img" style="width:220px;" type="text" value="Введите ссылку"/><div id="window_supmit_img" onClick="addImage(\'paper_txt\',1)"><p id="p_sub">ОК</p></div></div></div>'; str += '<div class="toolbar">'; str += '<img class="button" src="templates/css/images/bbcode/bold.gif" title="Жирный" onMouseOver="changeImg(this,1)" onMouseOut="changeImg(this,0)" onClick="addTags(\'[b]\',\'[/b]\',\'paper_txt\')">'; str += '<img class="button" src="templates/css/images/bbcode/italic.gif" title="Курсив" onMouseOver="changeImg(this,1)" onMouseOut="changeImg(this,0)" onClick="addTags(\'[i]\',\'[/i]\',\'paper_txt\')">' str += '<img class="button" src="templates/css/images/bbcode/underline.gif" title="Подчеркнутый" onMouseOver="changeImg(this,1)" onMouseOut="changeImg(this,0)" onClick="addTags(\'[u]\',\'[/u]\',\'paper_txt\')">'; str += '<img class="button" src="templates/css/images/bbcode/strike.gif" title="Перечеркнутый" onMouseOver="changeImg(this,1)" onMouseOut="changeImg(this,0)" onClick="addTags(\'[s]\',\'[/s]\',\'paper_txt\')">'; str += '<img class="button" src="templates/css/images/bbcode/link.gif" title="URL-адрес" onMouseOver="changeImg(this,1)" onMouseOut="changeImg(this,0)" onClick="addURL(\'paper_txt\')">'; str += '<img class="button" src="templates/css/images/bbcode/image.gif" title="Картинка" onMouseOver="changeImg(this,1)" onMouseOut="changeImg(this,0)" onClick="addImage(\'paper_txt\')">'; str += '<img class="button" src="templates/css/images/bbcode/quote.gif" title="Цитата" onMouseOver="changeImg(this,1)" onMouseOut="changeImg(this,0)" onClick="addTags(\'[quote]\',\'[/quote]\',\'paper_txt\')">'; str += '</div>'; return str; } function addImg(elemId){ var a = document.getElementById(elemId); a.innerHTML = createStr(); } </script> </head> <body> <div id='block'>Сюда вставятся картинки</div> <br> <a href='#' onclick="addImg('block');">Вставить</a> </body> </html> |
по-моему, всё работает :)
|
да работать то работает, но если вдруг захочется добавить какой то еще bb-код, то придется менять и там и там и там... а не в одном месте(( это удручает
|
ok) тогда так:
<html> <head> <script> function createStr(elemId){ var str =''; str += '<div class="tag_a" id="window_tags_a"><div class="input"><input id="input_link_a" type="text" value="Введите ссылку"/><br><input id="input_text_a" type="text" value="Введите текст ссылки"/><div id="window_supmit_a" onClick="addURL(\'paper_txt\',1)"><p id="p_sub">ОК</p></div></div></div>'; str += '<div class="tag_img" id="window_tags_img"><div class="input"><input id="radio_pos" type="hidden" value=""/><span id="radio_1" style="font-weight:100;cursor:pointer;color:#000;" onClick="positionImg(\'left\');">слева</span>     <span id="radio_2" style="font-weight:100;cursor:pointer;color:#000;" onClick="positionImg(\'center\');">центр</span>     <span id="radio_3" style="font-weight:100;cursor:pointer; color:#000;" onClick="positionImg(\'right\');">справа</span><input id="input_link_img" name="input_link_img" style="width:220px;" type="text" value="Введите ссылку"/><div id="window_supmit_img" onClick="addImage(\'paper_txt\',1)"><p id="p_sub">ОК</p></div></div></div>'; str += '<div class="toolbar">'; str += '<img class="button" src="templates/css/images/bbcode/bold.gif" title="Жирный" onMouseOver="changeImg(this,1)" onMouseOut="changeImg(this,0)" onClick="addTags(\'[b]\',\'[/b]\',\'paper_txt\')">'; str += '<img class="button" src="templates/css/images/bbcode/italic.gif" title="Курсив" onMouseOver="changeImg(this,1)" onMouseOut="changeImg(this,0)" onClick="addTags(\'[i]\',\'[/i]\',\'paper_txt\')">' str += '<img class="button" src="templates/css/images/bbcode/underline.gif" title="Подчеркнутый" onMouseOver="changeImg(this,1)" onMouseOut="changeImg(this,0)" onClick="addTags(\'[u]\',\'[/u]\',\'paper_txt\')">'; str += '<img class="button" src="templates/css/images/bbcode/strike.gif" title="Перечеркнутый" onMouseOver="changeImg(this,1)" onMouseOut="changeImg(this,0)" onClick="addTags(\'[s]\',\'[/s]\',\'paper_txt\')">'; str += '<img class="button" src="templates/css/images/bbcode/link.gif" title="URL-адрес" onMouseOver="changeImg(this,1)" onMouseOut="changeImg(this,0)" onClick="addURL(\'paper_txt\')">'; str += '<img class="button" src="templates/css/images/bbcode/image.gif" title="Картинка" onMouseOver="changeImg(this,1)" onMouseOut="changeImg(this,0)" onClick="addImage(\'paper_txt\')">'; str += '<img class="button" src="templates/css/images/bbcode/quote.gif" title="Цитата" onMouseOver="changeImg(this,1)" onMouseOut="changeImg(this,0)" onClick="addTags(\'[quote]\',\'[/quote]\',\'paper_txt\')">'; str += '</div>'; switch (elemId){ case 'block2': // для какого блока str += 'Новые коды'; // какие коды str += 'Новые коды'; str += 'Новые коды'; str += 'Новые коды'; break; }; document.getElementById(elemId).innerHTML = str; } </script> </head> <body> <div id='block' style="background-color:red">Сюда вставятся картинки</div> <br> <div id='block2' style="background-color:green">Сюда вставятся новые коды</div> <a href='#' onclick="createStr('block');">Вставить старые bbcode</a> <a href='#' onclick="createStr('block2');">Вставить новые bbcode</a> </body> </html> |
и можно добавлять что угодно, для каждого блока новые коды или редактировать старые и т.д.
|
можешь с помощью jquery .html вставить. Там выполнятся скрипты.
|
Цитата:
|
Часовой пояс GMT +3, время: 02:55. |