Как передать значение из формы
Здравствуйте. Есть форма
<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, время: 10:51. |