Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Показать div с экранной клавиатурой при нажатии на поле ввода для текста. (https://javascript.ru/forum/dom-window/60986-pokazat-div-s-ehkrannojj-klaviaturojj-pri-nazhatii-na-pole-vvoda-dlya-teksta.html)

infi97 30.01.2016 20:20

Показать div с экранной клавиатурой при нажатии на поле ввода для текста.
 
Здравствуйте.

Мучаюсь уже несколько часов, решил попросить помощи у людей.

Есть форма входа на сайт (код парольного ввода отрезан, потому что идентичен):
<form action="c" method="post">
<input class="nameinput" type="text" name="uid" id="username" onclick=ShowNumLayer();>
<div class="numkeys" id="numkeys">
<input type="button" class="fbutton" name="1" value="1" id="1" onClick=addNumber1(this);>
<input type="button" class="fbutton" name="2" value="2" id="2" onClick=addNumber1(this);>
<input type="button" class="fbutton" name="3" value="3" id="3" onClick=addNumber1(this);>
<input type="button" class="fbutton" name="4" value="4" id="4" onClick=addNumber1(this);>
<input type="button" class="fbutton" name="5" value="5" id="5" onClick=addNumber1(this);>
<input type="button" class="fbutton" name="6" value="6" id="6" onClick=addNumber1(this);>
<input type="button" class="fbutton" name="7" value="7" id="7" onClick=addNumber1(this);>
<input type="button" class="fbutton" name="8" value="8" id="8" onClick=addNumber1(this);>
<input type="button" class="fbutton" name="9" value="9" id="9" onClick=addNumber1(this);>
<input type="button" class="fbutton" name="0" value="0" id="0" onClick=addNumber1(this);>
<input id="btnDel" type="button" class="dbutton" value="Удалить" onclick=del1();>
<input id="btnhide" type="button" class="dbutton" value="Закрыть" onclick=HideNumLayer();>
</div>
<input class="button" type="submit" value="Вход">
</form>


CSS:
Код:

.numkeys {
position: absolute;
left: 70px;
top: 400px;
color: black;
display: none;
}

<script>
function addNumber1(element){
  document.getElementById('username').value = document.getElementById('username').value+element.value;
}

function del1() {
    var tbInput = document.getElementById("username");
    tbInput.value = tbInput.value.substr(0, tbInput.value.length - 1);
}

function ShowNumLayer(){
  document.getElementById('numkeys').style.display = inline;
}

function HideNumLayer(){
  document.getElementById('numkeys').style.display = none;
}
</script>


Смысл в том, чтобы при нажатии на поле для ввода логина появлялся скрытый изначально div с экранной клавиатурой.
Вроде и код очень простой, но почему-то ничего не работает..

:help:

destus 30.01.2016 20:28

В кавычки возьмите inline, none

infi97 30.01.2016 20:43

Огромное спасибо тебе, человек!

infi97 30.01.2016 20:53

Возникла новая проблема))

Нужно прятать слой с одной клавиатурой и показывать новый при нажатии на поле ввода пароля.
При просмотре кода страницы в браузере, второй onClick подсвечивается красным, как ошибка (в нём есть такая возможность). Подозреваю, что синтаксис неправильный, но как правильно - не знаю. Подскажите, как её исправить?

<input class="passinput" type="password" name="password" id="password" onClick=ShowPassLayer(); onClick=HideTabLayer(); >

destus 30.01.2016 21:11

Цитата:

Сообщение от infi97 (Сообщение 405578)
Возникла новая проблема))

Нужно прятать слой с одной клавиатурой и показывать новый при нажатии на поле ввода пароля.
При просмотре кода страницы в браузере, второй onClick подсвечивается красным, как ошибка (в нём есть такая возможность). Подозреваю, что синтаксис неправильный, но как правильно - не знаю. Подскажите, как её исправить?

<input class="passinput" type="password" name="password" id="password" onClick=ShowPassLayer(); onClick=HideTabLayer(); >

<input class="passinput" type="password" name="password" id="password" onClick="HideTabLayer(); ShowPassLayer(); " >

infi97 30.01.2016 21:50

И ещё раз - огромное спасибо)


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