@Vova135798

Почему из input получаю пустую строку?

Когда я получаю значение инпута, то мне выдает пустую строку. Я пробовал выводить в консоль и через alert(), но результат один и тот же.
<form id="form" onsubmit="formSubmit()">
                <label for="name">Ваше имя <span>*</span></label>
                <input type="text" id="name" name="name" />
            <button type="submit" class="form-btn">Отправить заявку</button>
        </form>


function formSubmit() {
    event.preventDefault();
    alert(document.getElementById('name').value)
}
  • Вопрос задан
  • 284 просмотра
Пригласить эксперта
Ответы на вопрос 2
ThunderCat
@ThunderCat Куратор тега JavaScript
{PHP, MySql, HTML, JS, CSS} developer
Первое что нужно сделать - смотреть консоль.
Второе - event внутри функции у вас берется из воздуха
Третье - создавать обработчик инлайн - плохая практика, используйте addEventListener
Четвертое - в вашей реализации функция обработчик уже должна существовать на момент биндинга, а она у вас видимо после кода формы.

Короче, все плохо...
Ответ написан
HardBot
@HardBot
back-end, front-end developer
<form action="" onsubmit="handleSubmit(event);">
    <input type="text" id="name">
    <input type="submit">
</form>
<script>
    function handleSubmit(e) {
        e.preventDefault();

        console.log(document.getElementById("name").value) // value получай по target лучше 
    }
</script>
Ответ написан
Ваш ответ на вопрос

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

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