Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> copy вместо pust 
:(
    Опции темы
yu007
Дата 6.4.2010, 13:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 15.10.2009

Репутация: нет
Всего: нет



Суть скрипта в том, что при выделении текста в textarea появляется div с кнопками, при нажатии на которые выделенный текст вырезается и заносится в соответствующее кнопке поле.
Как изменить функцию cutTxt для третьей кнопки, чтобы она не вырезала выделенный текст, а копировала его? 

Код

<input type="text" name="" id="selTxtInput1" /> 
<input type="text" name="" id="selTxtInput2" />
<input type="text" name="" id="selTxtInput3" />

<div id="hint" onmouseover="flag = true;" onmouseout="flag = false;">
<font class="popupmenu">ввести в поле:</font></br>
<center>
<input type="button" class="button2" value="Автор" onclick="cutTxt('selTxtInput1');" onMouseOver="style.color='#ffcc00'" onMouseOut="style.color='white'" /><br />
<input type="button" class="button2" value="Название" onclick="cutTxt('selTxtInput2');" onMouseOver="style.color='#ffcc00'" onMouseOut="style.color='white'" /><br />
<input type="button" class="button2" value="Ключевые слова" onclick="cutTxt('selTxtInput3');" onMouseOver="style.color='#ffcc00'" onMouseOut="style.color='white'" /><br />
</center>
</div>


Код

<?php
error_reporting(0);
if (isset($_FILES['upload']))
    $upload=file_get_contents($_FILES['upload']['tmp_name']);


$out="<textarea onselect=\"showDiv(this);\" class=\"TxtPopUp\" onmouseup=\"storeCoords(event);\" rows=\"\" id=\"textGl\" name=\"TxtPopUp\" cols=\"\">";
if ($upload)
    $out.=$upload."</textarea>";
else
    $out.="</textarea>";

echo $out;
?>



Код

selObj = null;
      var selTxtRng;
      var coords = {x:0, y:0};
      var selTxt = "";
      function showDiv(sender) {
         if (window.getSelection) {
            selObj = {target: sender, start: sender.selectionStart, end: sender.selectionEnd};
            selTxt = sender.value.slice(selObj.start, selObj.end);
           // setTimeout("brake()", 10);
                     } else {
            selObj = document.selection;
            if (selObj == null) return true;
            selTxtRng = selObj.createRange();
            selTxt = selTxtRng.text;
         }
         var hintDiv = document.getElementById("hint");
         with (hintDiv.style){
            left = (selTxtRng) ? selTxtRng.offsetLeft + "px" : coords.x + "px";
            top = (selTxtRng) ? (selTxtRng.offsetTop - -20).toString() + "px" : (coords.y - 35).toString() + "px";
            display = "block";
            sender.focus();
         }
      }  //end function showDiv(sender)
      function cutTxt(destInput) {
         if (selObj.clear) {
            selObj.clear();
         } else {
            selObj.target.value = selObj.target.value.slice(0, selObj.start) + selObj.target.value.slice(selObj.end);
         }
         delete selObj;
         document.getElementById("hint").style.display = "none";
         document.getElementById(destInput).value += selTxt.charAt(0).toUpperCase() + selTxt.slice(1);
         selTxt = "";
      }  //end function cutTxt(destInput)
      function storeCoords(evnt) {
         var ev = (evnt) ? evnt : event;
         coords.x = (ev.x) ? ev.x : ev.pageX;
         coords.y = (ev.y) ? ev.y : ev.pageY;
      }    //end function storeCoords(evnt)
      function clickHandler(evnt) {
   var ev = (evnt) ? evnt : event;
   var sender = (ev.target) ? ev.target : ev.srcElement;
   while (sender.parentNode != null) {
      if (sender.id == "hint") return true;
      sender = sender.parentNode;
   }
   document.getElementById("hint").style.display = "none";
}

if (window.addEventListener) {
   window.addEventListener("mousedown", clickHandler, false);
} else {
   window.document.attachEvent("onmousedown", clickHandler);
} //end function clickHandler(evnt)



PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0382 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.