Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Как привязать input к textarea? (https://javascript.ru/forum/dom-window/66222-kak-privyazat-input-k-textarea.html)

Chile 01.12.2016 22:30

Как привязать input к textarea?
 
Здравствуйте, товарищи!:)

У меня форма с несколькими textarea. Есть input который призван выделять весть текст в textarea:

<input type="button" value="Select All" onclick="javascript:highlight(0)" onmouseover="window.status='';return true">


Сам скрипт такой:
function highlight(x) {
   document.forms[x].elements[0].focus()
   document.forms[x].elements[0].select()
}


Мне нужно привязать input к textarea по id, как например, здесь:

<input type="button" value="p" onclick="tag (document.getElementById ('abstract'), '<p>', '</p>')">


где «abstract» — id textarea.

Как это сделать, господа?

ksa 02.12.2016 09:08

Цитата:

Сообщение от Chile
Как это сделать, господа?

Начать с изготовления полного тестового примера... На нем и покажут.

Chile 02.12.2016 18:55

Цитата:

Сообщение от ksa (Сообщение 436842)
Начать с изготовления полного тестового примера... На нем и покажут.

Как-то, вот так:
<!DOCTYPE html>
<html>
   <head>
      <title>Forms</title>
      <script type="text/javascript">
            function highlight(x){
                  document.forms[x].elements[0].focus()
                  document.forms[x].elements[0].select()
            }
      </script>
   </head>
   <body>
      <form id="editor" name="editor" action="#">
         <label>Description</label>
         <textarea id="description"></textarea>
         <label>Abstract</label>
         <textarea id="abstract"></textarea>
         <input type="button" value="Select All" onclick="javascript:highlight(0)" onmouseover="window.status='';return true" />
      </form>
   </body>
</html>


При нажатии на input, текст выделяется только в первом textarea, а нужно, чтобы у каждого textarea, был свой input для выделения всего текста.

Dilettante_Pro 02.12.2016 19:11

Решение влоб
<!DOCTYPE html>
<html>
   <head>
      <title>Forms</title>
      <script type="text/javascript">
            function highlight(x){
                  document.forms[0].elements[x].focus()
                  document.forms[0].elements[x].select()
            }
      </script>
   </head>
   <body>
      <form id="editor" name="editor" action="#">
         <label>Description</label>
         <textarea id="description"></textarea>
         <label>Abstract</label>
         <textarea id="abstract"></textarea><br>
         <input type="button" value="Select All Description" onclick="javascript:highlight(0)" onmouseover="window.status='';return true" />
         <input type="button" value="Select All Abstract" onclick="javascript:highlight(1)" onmouseover="window.status='';return true" />
      </form>
   </body>
</html>

Chile 03.12.2016 19:15

Цитата:

Сообщение от Dilettante_Pro
Решение влоб

К сожалению, не годится. У меня несколько textarea в форме, в примере, так сказать, фрагмент. А перед ними еще два input type="text". Такие дела.

Dilettante_Pro 04.12.2016 19:12

Chile,
Потому и влоб - в соответствии с макетом. При более сложной верстке вместо формс.елементс можно применить различные селекторы - по ид, по классу и тп

Chile 05.12.2016 03:57

Цитата:

Сообщение от Dilettante_Pro (Сообщение 437049)
Chile,
Потому и влоб - в соответствии с макетом. При более сложной верстке вместо формс.елементс можно применить различные селекторы - по ид, по классу и тп

А не могли бы вы мне показать, как применить селектор id? Именно это подошло бы идеально в моём случае!:)

ksa 05.12.2016 08:08

Цитата:

Сообщение от Chile
К сожалению, не годится. У меня несколько textarea в форме, в примере, так сказать, фрагмент.

Так сделай макет приближенным к действительности... А то потом еще что-то всплывет, чего у тебя не так в жизни.

ksa 05.12.2016 08:09

Цитата:

Сообщение от Chile
как применить селектор id?

document.getElementById('тут_ИД')

Dilettante_Pro 05.12.2016 10:30

Chile,
<!DOCTYPE html>
<html>
   <head>
      <title>Forms</title>
      <script type="text/javascript">
            function highlight(id){
                  var elem = document.getElementById(id);
                  elem.focus()
                  elem.select()
            }
      </script>
   </head>
   <body>
      <form id="editor" name="editor" action="#">
         <label>Description</label>
         <textarea id="description"></textarea>
         <label>Abstract</label>
         <textarea id="abstract"></textarea><br>
         <input type="button" value="Select All Description" onclick="highlight('description')" onmouseover="window.status='';return true" />
         <input type="button" value="Select All Abstract" onclick="highlight('abstract')" onmouseover="window.status='';return true" />
      </form>
   </body>
</html>


Часовой пояс GMT +3, время: 04:14.