Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Ввод в input с кнопки (https://javascript.ru/forum/misc/73312-vvod-v-input-s-knopki.html)

laimas 05.04.2018 13:24

Цитата:

Сообщение от Artur_Hopf
Задача в том чтобы пользователь выбрал время на сенсорном экране, клавиатуру я написал свою циферную

Да хоть в уме или карандашом на бумаге. :) Формат time, это HH:ss, при этом может быть 24/12 часовой, а значит не просто кнопки щелкать надо, но и проверять диапазон значений, который вводится на текущий момент. То есть задача немного сложнее, чем есть кнопки и щелкать по ним.

Nexus 05.04.2018 13:25

Цитата:

Сообщение от Artur_Hopf
можно ли это как то прикрутить

это "стандартный" интерфейс для взаимодействия с полем этого типа, никакие дополнительные файлы подключать не нужно.

Artur_Hopf 05.04.2018 14:49

Nexus,
В общем я сделяль так =)):
<li>Часы</li><input type="range" min="0" max="24" class="input_range" id="input_st" oninput="inputRangeTime('input_st', 'input_put_1')"/>
<li>Минуты</li><input type="range" min="00" max="60" class="input_range" id="input_en" oninput="inputRangeTime('input_en', 'input_put_1')"/>
<li>Выводются сюда, но перетирают друг друга:</li>
<input type="text" id="input_put_1" placeholder="14"/>
<li>Как сделать вид:</li>
<input type="text" placeholder="14:58">

function inputRangeTime(elem, elem2){
    var rng = document.getElementById(elem); 
    var input = document.getElementById(elem2); 
    input.value=rng.value;
};

Теперь вопрос, как вставить значение с обоих ползунков в один iput text, чтобы было на вроде 12:46?
И кстати как сделать так чтоб все тут видели как работает html и javascript вместе?

Nexus 05.04.2018 14:57

Цитата:

Сообщение от Artur_Hopf
И кстати как сделать так чтоб все тут видели как работает html и javascript вместе?

читайте http://javascript.ru/formatting

Цитата:

Сообщение от Artur_Hopf
как вставить значение с обоих ползунков в один iput text, чтобы было на вроде 12:46?

Тип поля можно поменять на time и смотреть эту страничку.

Без смены типа получить значения обоих ваших полей и вставить их в третье.
<div>
<input type="text" id="a">
<input type="text" id="b">
<input type="text" id="c">
</div>
<script>
[a,b].forEach(item=>item.oninput=()=>c.value=a.value+':'+b.value);
</script>

Artur_Hopf 05.04.2018 15:37

Nexus,
Спасибо большое, сделал так:
<div>
<div>Выберете время </div>
    <input type="range" min="00" max="23" class="input_range" id="input_st" oninput="inputRangeTime('input_st', 'input_en', 'input_put_1_1')"/>
    <input type="range" min="00" max="59" class="input_range" id="input_en" oninput="inputRangeTime('input_st', 'input_en', 'input_put_1_1')"/>
    <input type="text" id="input_put_1_1" /></br>
</div>
 <script type="text/javascript">
function inputRangeTime(elem, elem2, elem3){
    var rng = document.getElementById(elem); 
    var rng2 = document.getElementById(elem2); 
    var input = document.getElementById(elem3);  
    input.value=rng.value+':'+rng2.value;
};
</script>


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