Как передать значение из формы
Здравствуйте. Есть форма
<form action=""> <input type="text" name="" id="number" value="1000"> <input type="submit" value="Задать время" onclick="setTime()"> </form> Как присвоить переменной в js коде значение, введенное в input с id= number? Желательно на примере. |
document.getElementById('number').oninput = function() { var val = this.value; }; |
Что-то не то. Пишет ''undefined".
|
Stroy,
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>JS Bin</title> </head> <body> <form action=""> <input type="text" name="" id="number" value="1000"> <input type="submit" value="Задать время" onclick="setTime()"> </form> <script> function setTime() { var val = document.getElementById('number').value; alert(val); } </script> </body> </html> |
Извините за назойливость, но что-то не получается. Значение присваивается, но при этом не передается в другую функцию
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script> var ms = 1000; var number; var interval; function MP3(){ document.getElementById('player').play(); } function setTime () { number = document.getElementById('number').value; } function SetInterval(){ number = number * ms; interval = window.setInterval(MP3(), number); console.log(number); } function ClearInterval(){ window.clearInterval(interval); } </script> <style type="text/css"> div{ margin: 0 auto; width: 400px; } </style> </head> <body> <div>Музыка <audio id="player" src="DA1.mp3" controls></audio> <form action="mp3.html" > <input type="text" name="numb" id="number" value="10"> <input type="submit" value="Запуск цикла" onclick="setTime()"> <input type="submit" value="Остановка таймера"> </form> </div> <button onclick="SetInterval()" value="">Запуск цикла</button><br> <button onclick="ClearInterval()" value="">Прервать цикл</button> </body> </html> |
Цитата:
|
Уже исправил. Но таймер все равно не работает. В консоли выдает NaN.
|
Stroy,
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script> var ms = 1000; var number; var interval; function MP3(){ document.getElementById('player').play(); } function setTime () { number = document.getElementById('number').value; } function SetInterval(){ !number && setTime(); !+number && (number = 10); number = number * ms; MP3(); ClearInterval(); interval = window.setInterval(MP3, number); } function ClearInterval(){ window.clearInterval(interval); } </script> <style type="text/css"> div{ margin: 0 auto; width: 400px; } </style> </head> <body> <div>Музыка <audio id="player" src="http://boobooka.com/wp-content/uploads/2013/01/moneta.mp3" controls></audio> <form action="mp3.html" onsubmit="return false" > <input type="text" name="numb" id="number" value="10"> <input type="submit" value="установить время цикла" onclick="setTime()"> </form> </div> <button onclick="SetInterval()" value="">Запуск цикла</button><br> <button onclick="ClearInterval()" value="">Прервать цикл</button> </body> </html> |
Всё работает. Но хотелось бы разобраться. Что я делал неправильно?
|
Stroy,
в основном строка 39 и у вас строгий порядок должен быть сначала установка времени -- строка 41 потом всё остальное -- поэтому если кто пропустит куча "защит от дурака" - строки 17 и 18 --- строка 21 защита от повторного запуска интервала |
Часовой пояс GMT +3, время: 15:12. |