Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.07.2012, 23:24
Профессор
Отправить личное сообщение для PashPP Посмотреть профиль Найти все сообщения от PashPP
 
Регистрация: 26.07.2012
Сообщений: 281

Ввод/вывод данных из формы джаваскриптом
Здравствуйте. Как обращаться к элементам формы по айди/имени, чтоб можно было их возвращать модифицированными в поле инпут или другое?
Для примера. Есть простой счетчик
Код:
<!DOCTYPE html>
<html>
<head>
	<title>test</title>
	<meta charset="utf-8" />
	<script type="text/javascript">
 function modify_qty(val) {
    var qty = parseInt(document.getElementById("qty").value, 10);
    var new_qty = qty + val;
   
    document.getElementById("qty").value = new_qty;
    return new_qty;
}
    </script>
    <style>
   
    </style>
</head>
<body> 
    <label >Quantity</label>
<input id="qty" value="0" />
<button onclick="modify_qty(-1)">-1</button>
<button onclick="modify_qty(1)">+1</button>

	
</body>
</html>
Так он работает. Но стоит занести все в форму не обращения типа document.forms["zx"]["qty"].value не document.forms.zx.qty.value не по айди не работают.
Почему так и как это решить?
Хорошего всем времени суток.
Ответить с цитированием
  #2 (permalink)  
Старый 26.07.2012, 23:30
Аватар для lord2kim
Профессор
Отправить личное сообщение для lord2kim Посмотреть профиль Найти все сообщения от lord2kim
 
Регистрация: 03.05.2011
Сообщений: 848

PashPP,
<!DOCTYPE html>
<html>
<head>
	<title>test</title>
	<script type="text/javascript">
 function modify_qty(val) {
    var qty = parseInt(document.getElementById("qty").value, 10);
    var new_qty = qty + val;
   
    document.getElementById("qty").value = new_qty;
    return new_qty;
}
    </script>
    <style>
   
    </style>
</head>
<body>
<form name="form">
    <label>Quantity</label>
<input type="text" id="qty" value="0" />
<input type="button" value="-1" onClick="modify_qty(-1)">
<input type="button" value="+1" onClick="modify_qty(1)">
</form>
</body>
</html>
Ответить с цитированием
  #3 (permalink)  
Старый 26.07.2012, 23:35
Профессор
Отправить личное сообщение для PashPP Посмотреть профиль Найти все сообщения от PashPP
 
Регистрация: 26.07.2012
Сообщений: 281

О. Спасибо. Наверно, я где-то ошибся в этом варианте на нервах.
А почему тогда методы специально для форм не работают?
Зачем вообще элементам форм параметр имя, если можно по айди?
Ответить с цитированием
  #4 (permalink)  
Старый 26.07.2012, 23:41
Аватар для lord2kim
Профессор
Отправить личное сообщение для lord2kim Посмотреть профиль Найти все сообщения от lord2kim
 
Регистрация: 03.05.2011
Сообщений: 848

Сообщение от PashPP Посмотреть сообщение
О. Спасибо. Наверно, я где-то ошибся в этом варианте на нервах.
А почему тогда методы специально для форм не работают?
Зачем вообще элементам форм параметр имя, если можно по айди?
<html>
<head>
<title></title>
<script>
function abc() {
  var radio_a = document.getElementsByName("a");
  for (i=0; i<radio_a.length; i++) {
    alert(radio_a[i]);
  }
}
</script>
</head>
<body>
<form name="form">
<label><input type="radio" name="a" value="1">1</label>
<label><input type="radio" name="a" value="2">2</label>
<label><input type="radio" name="a" value="3">3</label>
<label><input type="radio" name="a" value="4">4</label>
<label><input type="radio" name="a" value="5">5</label>
<br><input type="button" value="Click" onClick="abc()">
</form>
</body>
</html>
Ответить с цитированием
  #5 (permalink)  
Старый 27.07.2012, 00:45
Профессор
Отправить личное сообщение для oneguy Посмотреть профиль Найти все сообщения от oneguy
 
Регистрация: 31.05.2012
Сообщений: 396

К формам можно обращаться через document.forms[i], где i - порядковый номер формы в документе.
Атрибут name использовать в элементе <form> незачем - это его использование считается устаревшим.
Ответить с цитированием
  #6 (permalink)  
Старый 27.07.2012, 13:27
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Сообщение от PashPP
Зачем вообще элементам форм параметр имя, если можно по айди?
Если у элемента формы не будет задано значение атрибута name, то данные из этого элемента (имеются в виду, те элементы, данные из которых могут быть отправлены) не отправятся (если, конечно, их нужно отправить).
Ответить с цитированием
  #7 (permalink)  
Старый 12.06.2019, 16:07
Аспирант
Отправить личное сообщение для jobananada Посмотреть профиль Найти все сообщения от jobananada
 
Регистрация: 03.02.2019
Сообщений: 66

<form >
   <p><input id="summa" type="number" size="50" name="num" min="1" max="1000000000000000000" value="1"></p>
 </form>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Двойная Фильтрация данных таблицы David0707 Общие вопросы Javascript 0 19.03.2012 13:00
Получение данных из формы Asteroth Элементы интерфейса 1 09.03.2012 17:11
Помогите с передачей данных с формы на другую страницу Dimand (X)HTML/CSS 3 13.02.2011 11:14
Передача данных из формы Eugene Общие вопросы Javascript 4 15.12.2010 11:41
Оцените реализацию скрипта валидации данных формы pandasensey Ваши сайты и скрипты 0 05.07.2010 18:11