hummingbird
@hummingbird

Как ввести передать значение поля input в функцию?

Есть поле и кнопкой:
<input type="text" class="form-control" name="name" id="name" value="1" placeholder="Имя">
<span class="input-group-btn" id="sendbutton">
	<script type="text/javascript">
		var name = document.getElementById('name').value;
		document.getElementById("sendbutton").innerHTML = '<button type="button" class="btn btn-default" onclick="TFunction( ' + name + ' );">Отправить</button>';
	</script>
</span>


И этот код работает, но неправильно - чтобы я не вписал в поле, в функции alert всегда выводит единицу ("1"). Если убрать value или оставить его пустым (value=""), то в консоли вообще вырисовывается ошибка:
2e0d7beac95e4711aaad15d58afdcf8d.png
и ссылается она на строку:
</script>

Как решить данную проблему?
  • Вопрос задан
  • 19455 просмотров
Решения вопроса 1
@eandr_67
web-программист (*AMP, Go, JavaScript, вёрстка).
Разумеется, у тебя будет единица. Ты в переменную name записываешь значение поля до того, как оно изменилось. Надо получать значение поля в момент клика по кнопке.

Можно так:
<input type="text" class="form-control" name="name" id="name" value="1" placeholder="Имя">
<button class="btn btn-default" onclick="TFunction(document.getElementById('name').value)">Отправить</button>

Но куда лучше:
<input type="text" class="form-control" name="name" id="name" value="1" placeholder="Имя">
<button class="btn btn-default" onclick="TFun()">Отправить</button>
<script>
  function TFun(){
    alert(document.getElementById('name').value);
  }
</script>
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Sanasol
@Sanasol Куратор тега JavaScript
нельзя просто так взять и загуглить ошибку
Потому что код выполняется при загрузке страницы, и значение берется начальное. Вы не бновляете переменную name
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы