|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
27.08.2011, 21:31 | #1 |
Новичок
Джуниор
Регистрация: 27.08.2011
Сообщений: 7
|
Вставка текста при нажатии кнопки
В общем на одном форуме скачал скрипт для панельки вставки смайлов и тегов. Так вот, немного в нём разобравшись захотелось сделать кнопку, при нажатии которой в диалоговом окне писался определённый текст.
Пробовал заменить тут: <input type=button class="buttonteg" value="B" title="Устанавливает жирное начертание шрифта." onclick="__addTag(\'<b>\',\'</b>\', \''+getareaid+'\')"> \ заменить вставляемые теги на текст, так ничего не выходит, скрипт не работает. Помогите пожалуйста. |
27.08.2011, 21:39 | #2 |
Форумчанин
Регистрация: 18.06.2010
Сообщений: 273
|
покажи скрипт
или хотя бы функция __addTag() |
27.08.2011, 21:41 | #3 | |
Пользователь
Регистрация: 26.08.2011
Сообщений: 41
|
Цитата:
<input type=button class="buttonteg" value="B" title="Устанавливает жирное начертание шрифта." onclick="__addTag('<b>','</b>', '\'+getareaid+\'')"> getareaid - это переменная? Если да, тогда вот так: <input type=button class="buttonteg" value="B" title="Устанавливает жирное начертание шрифта." onclick="__addTag('<b>', '</b>', getareaid)"> Последний раз редактировалось justmozg; 27.08.2011 в 21:44. |
|
27.08.2011, 21:44 | #4 |
Новичок
Джуниор
Регистрация: 27.08.2011
Сообщений: 7
|
он большой, буду частями:
[I]if (window.location.hostname.match(/yastalker\.com/)) { ////////////////////////////////////////////////////////////////////// ///// __abstract ////////////////////////////////////////////////////////////////////// function getElementsByClass(searchClass,node ,tag) { var classElements = new Array(); if (node==null) node=document; if (tag==null) tag='*'; var els=node.getElementsByTagName(tag); var elsLen=els.length; var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s| $)"); for (i=0,j=0;i<elsLen; i++){ if (pattern.test(els[i].className)){ classElements[j]=els; j++; } } return classElements; } function getElementIdByRegExp(p_regexp,p_ele ment,p_tagName) { p_element=p_element===null ? document : p_element; p_tagName=p_tagName===null ? '*' : p_tagName; var v_return=[]; var v_inc=0; var p=p_element.getElementsByTagName(p_ tagName) for(var v_i=0,v_il=p.length;v_i<v_il;v_i++) { if(p.item(v_i).id && p.item(v_i).id.match(p_regexp)){ v_return[v_inc]=p.item(v_i).id; v_inc++; } } return v_return; } // internal copy ov __overhead.js struct-func for keylistner function addTag(startTag, endTag, area_id){ var TXT = document.getElementById(area_id); TXT.focus(); if (document.selection) with (document.selection.createRange ()) { var t = text; text = startTag + text + endTag; if (!t.length) moveEnd ('character', endTag.length * (-1)); select (); } else if (TXT.selectionStart >= 0) with (TXT) { var sT = scrollTop, sL = scrollLeft, t = value, stS = selectionStart, leS = selectionEnd - stS, w = (startTag + t.substr (stS, leS) + endTag).length; value = t.substr (0, stS) + startTag + t.substr (stS, leS) + endTag + t.substr (stS + leS); if (leS) selectionStart = selectionEnd = stS + w; else selectionStart = selectionEnd = stS + startTag.length; scrollTop = sT, scrollLeft = sL; } else TXT.value += startTag + endTag; } // internal copy ov __overhead.js struct-func for keylistner function sLayer(obj_id, parent_state){ var n = 'none' var ir = 'inline' var block_state = document.getElementById(obj_id).sty le; if (parent_state){ if (block_state.display!=parent_state) {block_state.display=parent_state;} else{block_state.display=n;} } else{ if (block_state.display!=ir){block_sta te.display=ir;} else{block_state.display=n;} } } // internal copy ov __overhead.js struct-func for keylistner function Quote(area_id){ var toform = document.getElementById(area_id); txt=''; if (document.getSelection) { txt=document.getSelection(); } else if (document.selection) { txt=document.selection.createRange( ).text; } if (txt != "") { txt='<q><i>'+txt+'</i></q>\n'; toform.focus(); toform.value += txt; } } function __scEngine(url) { var link = url; var old_s = document.getElementById('__ovh'); if (old_s) { old_s.parentNode.removeChild(old_s) ; } var s = document.createElement('script'); s.setAttribute('type', 'text/javascript'); s.src = link; s.id = '__ovh'; document.getElementsByTagName('head ')[0].appendChild(s); } __scEngine("http://www.yastalker.com/uploads_admin/js/__overhead.js") |
27.08.2011, 21:51 | #5 |
Новичок
Джуниор
Регистрация: 27.08.2011
Сообщений: 7
|
function update(){
var s=getElementsByClass('__ql',null,'a ').length var t=getElementsByClass('profile_comme nt_body',null,'div').length var i=getElementsByClass('group_discuss ion_item1',null,'div').length if (!getareaid){generate_id();} if (tags_state==true){TagsGUI();} if ((t>0 && s!=t) || i!=0){parse_comments();} } function TagsGUI() { if (getareaid){ var tagspace; var pollset_a = '<br /><a href="javascript:void(0);" onclick="javascript:switchLayer(\'e ntry_settings\',\'inline\')">Показа ть настройки конфиденциальности</a>' var target = document.getElementsByTagName('div' ) var newtopic = document.getElementsByTagName('td') if (getareaid==pollsid){ document.getElementById('settings_s how').innerHTML=tagbuttons+pollset_ a tags_state=false update() } else if (getareaid==profid || getareaid==topicid){ for(i=0;i<target.length;i++){ tagspace = target[i].innerHTML if (tagspace.split(' ')[0].toLowerCase()=='разрешенные' || tagspace.match(/^\n*\s*Разрешенные тэги/gi)) { target[i].innerHTML = tagbuttons tags_state=false update() } } } else if (getareaid!=topicid && getareaid!=profid){ for (i=0;i<newtopic.length;i++){ if (newtopic[i].innerHTML.match(/Разрешенные тэги/gi)){ newtopic[i].innerHTML = '<textarea name="topic_body" id="group_discussion_new" rows="5" cols="65" style="width:400px;"></textarea><br>'+tagbuttons tags_state=false update() } } } } } |
27.08.2011, 21:51 | #6 |
Новичок
Джуниор
Регистрация: 27.08.2011
Сообщений: 7
|
var __trigger= false
function marker(v){ var counter = 0 var cn = '__flink'; var f_link = document.getElementById('centerw2_b ody').getElementsByTagName('a'); var is_group = getElementsByClass('group_discussio n_item1',null,'div') for (var r=0;r<f_link.length;r++){ if(counter==v.length){__trigger=tru e;continue;} var find = f_link[r].innerHTML; if ((find.match(/Написать пользователю\s*$/gi) || find.match(/Редактировать\s*$/gi)) && (!__trigger)){ f_link[r].parentNode.className=cn counter=counter+1 } } } function parse_comments(){ var set_tag var get_authors_link var save_post var save_links var set_menu var profile var get_profile_link var menu_style var end_link var begin var rnd = 0 var varb = 0 var get_authors_nick var __nls = 'float: right; padding-left: 15px;' var get_authors = getElementsByClass('profile_comment _author',null,'div') var get_posts = getElementsByClass('profile_comment _body',null,'div') var get_links = getElementsByClass('profile_comment _links',null,'div') var is_group = getElementsByClass('group_discussio n_item1',null,'div') var date = getElementsByClass('profile_comment _date',null,'div') if (getareaid!='undefined' && (get_authors.length!=0 && get_posts.length!=0) && (get_authors.length==get_posts.leng th && get_posts.length==get_links.length) ){ if (getElementsByClass('__ql',null,'a' ).length!=get_links.length){ for (i=0;i<get_authors.length;i++){ get_authors_link=get_authors[i].innerHTML.match(/\<b\>(.*?)\<\/b\>/gi) get_authors_nick='<b>[Пользователь удален]</b>' rnd=rnd+1 set_tag=rnd menu_style='display:none;margin-top:21px;background-image:url(/uploads_admin/js/background.jpg);background-repeat: no-repeat;' set_menu='<div id="usernick_menu_'+set_tag+'" class="menu_dropdown" style="'+menu_style+'">' begin='<div class="menu_item_dropdown" onclick="switchLayer(\'usernick_men u_'+set_tag+'\',\'inline\');"><a href="' if (get_authors_link!='<b>[Пользователь удален]</b>' && get_authors_link!='<B>[Пользователь удален]</B>'){ var _ = get_authors[i].getElementsByTagName('a')[0] get_profile_link=_.href _.href='javascript:switchLayer(\'us ernick_menu_'+set_tag+'\',\'inline\ ');' _.title='Показать меню профиля' get_authors_nick=_.innerHTML.replac e(/<\/?b>/gi,"") } save_post=get_posts[i].innerHTML.replace(/["']/g, '"').replace(/ /g,'') save_links=get_authors[i].innerHTML get_authors[i].innerHTML='<img src="/images/icons/menu_arrow.gif" onclick="switchLayer(\'usernick_men u_'+set_tag+'\',\'inline\');"/>' if (get_authors_link!='<b>[Пользователь удален]</b>' && get_authors_link!='<B>[Пользователь удален]</B>'){ set_menu+=begin+'javascript:__addTa g(\''+get_authors_link+', \',\'\', \''+getareaid+'\')" title="Вставить ник собеседника в форму ответа"><img src="/images/icons/back16.gif" /> Обратиться к сталкеру</a></div>' set_menu+=begin+'javascript:__addNi ckLink(\''+get_authors_nick+'\',\'' +getareaid+'\');" title="Вставить ник cобеседника в виде ссылки"><img src="/uploads_admin/js/link_na_profile.gif" /> Ссылка на профиль</a></div>' } set_menu+=begin+'javascript:__addTa g(\''+get_authors_link+' <b>сказал(а):</b><br /><q><i>'+save_post+'</i></q><br />---<br />\',\'\',\''+getareaid+'\')" class="__ql" title="Цитировать это сообщение"><img src="./images/icons/group_discussion_quote16.gif" border="0" /> Цитировать сообщение</a></div>' if (get_authors_link!='<b>[Пользователь удален]</b>' && get_authors_link!='<B>[Пользователь удален]</B>'){ set_menu+=begin+get_profile_link+'" title="Перейти на личную страницу сталкера"><img src="/uploads_admin/js/sam_profile.gif" border="0" /> Профиль сталкера</a></div>' } end_link='<div class="menu_item_dropdown" style="cursorointer;" onclick="switchLayer(\'usernick_men u_'+set_tag+'\',\'inline\');"><a title="Закрыть меню"><img src="/uploads_admin/js/close.gif" border="0" /> Закрыть</a></div>' get_authors[i].innerHTML+=set_menu+end_link+'</div>'+save_links } } } |
27.08.2011, 21:52 | #7 |
Новичок
Джуниор
Регистрация: 27.08.2011
Сообщений: 7
|
else if (is_group.length!=0){
if (getElementsByClass('__nl',null,'a' ).length!=is_group.length){ var clearURL = new RegExp(/^http:\/\/[A-Za-z0-9\.-]{3,}\/group_discussion_view.php\?group_id \=[0-9]+\&grouptopic_id\=[0-9]+/gi); var get_post_links = getElementIdByRegExp(/post\_[0-9]+/gi,null,'a'); var counter = 0 marker(get_post_links) var get_l = getElementsByClass('__flink',null,' div'); clearURL=clearURL.exec(window.locat ion); clearURL=clearURL+'&grouppost_id='; for (i=0;i<is_group.length;i++){ var g_link = is_group[i].getElementsByTagName('a'); if (g_link.length!=0){ get_authors_link=g_link[0]; set_tag=get_authors_link.innerHTML; if (set_tag.match(/^\s*(.*?)\s*$/gi)){ set_tag=set_tag.replace(/\s*/g,''); get_authors_link.href='javascript:_ _addTag(\'<b>'+set_tag+'</b>, \',\'\', \''+getareaid+'\')'; get_authors_link.className='__nl'; get_authors_link.title='Обратиться по нику'; } } else{ varb++; is_group[i].innerHTML+='<a class="__nl" name="__ok"></a>'; } var clear_post_links=new RegExp(/[0-9]+/g).exec(get_post_links[i]); if (get_l.length==is_group.length){ var construct_link = document.createElement('div'); construct_link.setAttribute('style' ,__nls); construct_link.innerHTML='<a class="__flink" href="#" onclick="javascript:GetPostLink(\'' +clearURL+clear_post_links+'#'+get_ post_links[i]+'\');return false;" title="Скопировать ссылку на пост"><img src="/uploads_admin/js/post.gif" border="0" /> Пост</a>'; get_l[i].parentNode.insertBefore(construct_ link,get_l[i]); } else if (get_l.length!=0 && get_l.length<is_group.length){ if (get_l[i] && get_l[i].id!='__marked'){ var construct_link = document.createElement('div'); clear_post_links=new RegExp(/[0-9]+/g).exec(get_post_links[varb]); construct_link.setAttribute('style' ,__nls); construct_link.innerHTML='<a class="__flink" href="#" onclick="javascript:GetPostLink(\'' +clearURL+clear_post_links+'#'+get_ post_links[varb]+'\');return false;" title="Скопировать ссылку на пост"><img src="/uploads_admin/js/post.gif" border="0" /> Пост</a>'; get_l[i].parentNode.insertBefore(construct_ link,get_l[i]); get_l[i].id='__marked'; } } varb++; } } } } // KeyBinder; calls specific internal copies of struct-funcs from __overhead.js window.setTimeout(function(){window .setInterval(update,500);},2000) function stc(){ var div = document.createElement('div') div.setAttribute('style','display:n one;') div.setAttribute('class','__stc;') div.setAttribute('id','__tagspanelA ctive') document.body.appendChild(div) } stc() } |
27.08.2011, 21:52 | #8 |
Новичок
Джуниор
Регистрация: 27.08.2011
Сообщений: 7
|
это без оформления, таблицы смайлов.
вот сами кнопки: tagbuttons = smiles+'<div style="margin-top:5px;"><tr> \ <td> \ <input type=button class="buttonteg" value="" title="Открывает внутри страницы окно с выбором смайлов" id="s_link" onclick="switchLayer(\'buttonteg_sm ilesRow\',\'block\');"> \ <input type=button class="buttonteg" value="B" title="Устанавливает жирное начертание шрифта." onclick="document.re.txt.value+='Мо й вставляемый текст'(\'<b>\',\'</b>\', \''+getareaid+'\')"> \ <input type=button class="buttonteg" value="I" title="Устанавливает курсивное начертание шрифта."onclick="__addTag(\'<i>\',\ '</i>\', \''+getareaid+'\')"> \ <input type=button class="buttonteg" value="U" title="Устанавливает подчеркнутый шрифт." onclick="__addTag(\'<u>\',\'</u>\', \''+getareaid+'\')"> \ <input type=button class="buttonteg" value="A" title="Устанавливает подсвечивание строки при наведении" onclick="__addTag(\'<A>\',\'</A>\', \''+getareaid+'\')"> \ <input type=button class="buttonteg" value="BR" title="Устанавливает перевод строки в том месте, где этот тег находится." onclick="__addTag(\'<br />\',\'\', \''+getareaid+'\')"> \ <input type=button class="buttonteg" value="Url" title="Создаёт гиппер-ссылку,при нажатии переводящую на другой адрес." onclick="__addTag(\'<a target="_blank" href="\',\'">ссылка</a>\', \''+getareaid+'\')"> \ <input type=button class="buttonteg" value="Img" title="Предназначен для отображения на веб-странице изображений в графическом формате." onclick="__addTag(\'<img src="\',\'" border="0" />\', \''+getareaid+'\')"> \ <input type=button class="buttonteg" value="code" title="Предназначен для отображения одной или нескольких строк текста, который представляет собой программный код." onclick="__addTag(\'<code>\',\'</code>\', \''+getareaid+'\')"> \ <input type=button class="buttonteg" value="hr" title="Рисует горизонтальную линию." onclick="__addTag(\'<hr />\',\' \', \''+getareaid+'\')"><br />\ <div id="buttonteg_row2_show" style="display:inline;font-size:10px;"><a href="javascript:switchLayer(\'butt onteg_row2\',\'inline\')" onclick="javascript:switchLayer(\'b uttonteg_row2_show\',\'inline\')" title="Показать ряд дополнительных html-тегов">Дополнительные тэги</a></div>\ <div id="buttonteg_row2" style="display:none;">\ <input type=button class="buttonteg" value="ol" title="Устанавливает нумерованный список.Каждый элемент списка должен начинаться с тега <LI>." onclick="__addTag(\'<ol>\',\'</ol>\', \''+getareaid+'\')"> \ <input type=button class="buttonteg" value="ul" title="Устанавливает маркированный список. Каждый элемент списка должен начинаться с тега <LI>." onclick="__addTag(\'<ul>\',\'</ul>\', \''+getareaid+'\')"> \ <input type=button class="buttonteg" value="li" title="Определяет отдельный элемент списка. Внешний тег <UL> или <OL>." onclick="__addTag(\'<li>\',\'</li>\', \''+getareaid+'\')"> \ <input type=button class="buttonteg" value="sub" title="Отображает шрифт в виде нижнего индекса." onclick="__addTag(\'<sub>\',\'</sub>\', \''+getareaid+'\')"> \ <input type=button class="buttonteg" value="sup" title="Отображает шрифт в виде верхнего индекса." onclick="__addTag(\'<sup>\',\'</sup>\', \''+getareaid+'\')"> \ <input type=button class="buttonteg" value="©" title="Ставит знак копирайта, авторского права" onclick="__addTag(\'\',\'<sup>© ;</sup>\', \''+getareaid+'\')"> \ <input type=button class="buttonteg" value="®" title="Помещает знак зарегистрированной торговой марки" onclick="__addTag(\'\',\'<sup>® </sup>\', \''+getareaid+'\')"> \ <input type=button class="buttonteg" value="™" title="Устанавливает знак торговой марки" onclick="__addTag(\'\',\'<sup>TM</sup>\', \''+getareaid+'\')"> \ <input type=button class="buttonteg" value="quote" title="Создает выделеную цитату чужого сообщения" style="width:40px;" onclick="'+quote+'"> \ </div>\ </td> \ </tr></div> ' |
27.08.2011, 21:59 | #9 |
Новичок
Джуниор
Регистрация: 27.08.2011
Сообщений: 7
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Прога вылетает при нажатии кнопки.. | Дмитрий142 | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 2 | 15.03.2011 08:36 |
Скрытие кнопки при нажатии на нее | MyLastHit | Общие вопросы Delphi | 10 | 03.08.2010 22:23 |
Запуск формы при нажатии кнопки | SkrudjMakdak | Microsoft Office Excel | 4 | 30.07.2010 22:29 |
Авто вставка текста ао нажатии клавиши | BloodWizard | JavaScript, Ajax | 4 | 24.05.2010 18:56 |
Ошибка при нажатии кнопки | Skynet91 | БД в Delphi | 1 | 08.02.2010 19:45 |