jQuery получает входное значение, не работающее на первой странице

#javascript #jquery #html #forms #button

#javascript #jquery #HTML #формы #кнопка

Вопрос:

Я пытаюсь получить входное значение с помощью jQuery, но это не работает в первом экземпляре при нажатии кнопки. Это работает только тогда, когда я нажимаю кнопку «Назад», чтобы вернуться на эту страницу:

HTML:

 <input type="text" class="form-control email_input" name='email' id="reserve_email_1" placeholder="Enter your email">
<button type="submit" id="subscribe_1" class="btn btn-success subscribe_button">Get now</button>
  

jQuery:

 $('#subscribe_1').click(function(){
    var email_1 = $('#reserve_email_1').text();

    alert(email_1);
});
  

Когда я что-то ввожу во входные данные и нажимаю кнопку, предупреждение показывает пустое сообщение, затем оно перенаправляется на другую страницу (перенаправляется, поскольку это часть формы), затем я снова нажимаю кнопку назад, чтобы вернуться на эту страницу, где во входных данных остался тот же текст, и на этот раз, когда я нажимаю кнопку, появляется предупреждающее сообщение с текстом, который я ввел. Я не уверен, почему это происходит.

Комментарии:

1. Ваш код не указывает, почему это может происходить в вашем случае. Пожалуйста, какой-нибудь код, который воспроизводит проблему. Ваш код не имеет ничего общего с историей или на него может повлиять кэширование.

2. смотрите консоль браузера, есть ли какая-либо ошибка или предупреждение при нажатии кнопки? возможно, проблема с кнопкой отправки, используйте preventDefault в onClick и post from с помощью jqeury

Ответ №1:

У входных данных нет текста, это самозакрывающийся элемент, однако он имеет значение

 $('#subscribe_1').click(function(){
    var email_1 = $('#reserve_email_1').val();

    alert(email_1);
});
  

jQuery.val()

Комментарии:

1. Запрашивающий утверждает, что его код работает после возврата браузера. Почему это должно быть?

2. @JanDvorak — Понятия не имею, но, конечно, вы не можете получить входное значение с помощью text() , так что, вероятно, мешает что-то еще, но звучит очень, очень странно, что это внезапно срабатывает при нажатии кнопки «Назад», когда операционная система явно использует неправильный метод?

3. и text () действительно возвращает мне значение ввода

4. Тогда возникает проблема, у вас должен быть другой элемент с этим идентификатором или что-то в этом роде, поскольку text он не получает значение входных данных, это может определить простой тест . Если text работает, это не тот ввод, из которого вы получаете текст.