Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Как сделать поле input доступным для ввода? (https://javascript.ru/forum/events/67726-kak-sdelat-pole-input-dostupnym-dlya-vvoda.html)

mikefromru 05.03.2017 06:55

Как сделать поле input доступным для ввода?
 
У меня есть поле для ввода которое по умолчанию не доступно для ввода букв с клавиатуры. Так же есть элемент <div id='hide_show'> на станице, который скрывается при нажатии на ссылку, и если этот элемент скрыт, то-есть <div id='hide_show'>, мне необходимо разрешить ввод букв с клавиатуры в поле(input).

Вот посмотрите мой код:
<input type="text" class="text" name='input' onfocus="this.blur()">

<a href='javascript:;' onclick="toggle(this);">hide</a>
<div id='hide_show'>
Hellow world
</div>

<script>
        function toggle(a){
            var target = document.getElementById('hide_show');
            target.style.display = target.style.display == 'none' ? "block" : 'none';
            a.innerText = a.innerText == 'hide' ? 'show' : 'hide';
            // я так понимаю что мне нужно что-то здесь сделать
        }
    </script>



Как я могу это сделать?

laimas 05.03.2017 08:59

Цитата:

Сообщение от mikefromru
Как я могу это сделать?

Удалить onfocus="this.blur()" у поля.

mikefromru 05.03.2017 09:02

Цитата:

Сообщение от laimas (Сообщение 446360)
Удалить onfocus="this.blur()" у поля.

мне нужен этот метод.

destus 05.03.2017 09:38

mikefromru,
<input type="text" class="text" name='input' onfocus="return getStateEnable(this)">

<a href='javascript:;' onclick="toggle(this);">hide</a>
<div id='hide_show'>
Hellow world
</div>
  <script>
  function toggle(a){
            var target = document.getElementById('hide_show');
            target.style.display = target.style.display == 'none' ? "block" : 'none';
            a.innerText = a.innerText == 'hide' ? 'show' : 'hide';
            // я так понимаю что мне нужно что-то здесь сделать
        }
		
	function getStateEnable(ctx){
		var style = document.getElementById('hide_show').style.display;
		return style === 'none' ? true : ctx.blur();
	}
  </script>

mikefromru 05.03.2017 09:54

Цитата:

Сообщение от destus (Сообщение 446362)
mikefromru,
<input type="text" class="text" name='input' onfocus="return getStateEnable(this)">

<a href='javascript:;' onclick="toggle(this);">hide</a>
<div id='hide_show'>
Hellow world
</div>
  <script>
  function toggle(a){
            var target = document.getElementById('hide_show');
            target.style.display = target.style.display == 'none' ? "block" : 'none';
            a.innerText = a.innerText == 'hide' ? 'show' : 'hide';
            // я так понимаю что мне нужно что-то здесь сделать
        }
		
	function getStateEnable(ctx){
		var style = document.getElementById('hide_show').style.display;
		return style === 'none' ? true : ctx.blur();
	}
  </script>

Спасибо!


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