【问题标题】:jQuery get input value not working on first pagejQuery获取输入值在第一页上不起作用
【发布时间】:2014-07-06 06:12:36
【问题描述】:

我正在尝试使用 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);
});

当我在输入中输入内容并按下按钮时,警报会显示一条空消息,然后它会重定向到另一个页面(它会重定向,因为它是表单的一部分),然后我再次按下后退按钮返回这个页面在输入中留下了相同的文本,这次当我按下按钮时,警报消息会显示我输入的文本。我不确定为什么会发生这种情况。

【问题讨论】:

  • 您的代码并未说明您的情况为何会发生这种情况。请一些重现问题的代码。您的代码与历史无关或可能受缓存影响。
  • 查看浏览器控制台,点击按钮时是否有任何错误或警告?可能是提交按钮有问题,在 onClick 中使用 preventDefault 并使用 jqeury 发布

标签: javascript jquery html forms button


【解决方案1】:

输入没有文本,它是一个自闭合元素,但它确实有值

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

    alert(email_1);
});

jQuery.val()

【讨论】:

  • 提问者声称他的代码在浏览器返回后工作。为什么会这样?
  • @JanDvorak - 不知道,但你肯定不能用text() 获得输入值,所以可能有其他东西在干扰,但听起来很奇怪,它在点击时突然起作用当 OP 明显使用错误的方法时返回按钮?
  • 和 text() 确实让我得到了输入的值
  • 那么有一个问题,您必须有另一个具有该 ID 的元素或 text 没有 not 获取输入的值,一个简单的 test 可以确定那。如果text 工作正常,这不是您从中获取文本的输入。
猜你喜欢
  • 2014-12-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-12
相关资源
最近更新 更多