【问题标题】:Why is jQuery .val() returning nothing? [closed]为什么 jQuery .val() 什么都不返回? [关闭]
【发布时间】:2021-12-29 20:51:22
【问题描述】:

我正在尝试获取输入的值。这是我的表单的样子:

这是它的 HTML:

<label for="userName"></label>
<input type="text" class="form-input plain-text" id="userName" placeholder="Username">

这是获取其值并记录它的 jQuery:

$("#loginSubmit").click(function() {
    var userName = $("#userName").val();
    console.log(userName);
});

但是当我输入一些文本并点击 ID 为 #userName 的登录按钮时,控制台会返回:

为什么控制台不输出dwedwed

谢谢


在 cmets 中找到解决方案

调试:我发现我有多个具有相同 ID 的输入

【问题讨论】:

  • 也许您有多个带有id="userName" 的元素。 ID 必须是唯一的。
  • 也许您的提交按钮的 ID 不同?
  • 你能把整个html贴出来吗,我看不到你的sumbit按钮

标签: javascript jquery


【解决方案1】:

我能看到的直接原因是:

  • 您在 DOM 加载之前或元素在 DOM 中可用之前附加了一个事件(例如,如果您在头部而不是底部加载 JS)
  • 具有相同 ID 的多个元素
  • 您在按钮元素(或此特定标识符)上有一个阻止回调的 stopPropagation

除了上述之外,如果没有更多代码/信息,很难确定发生了什么。

如果是何时您附加监听器的问题,请尝试在您的事件监听器周围添加$(document).ready()

【讨论】:

  • 错误是我有多个输入具有相同的 ID,谢谢
猜你喜欢
  • 2013-06-11
  • 1970-01-01
  • 2021-04-02
  • 2011-05-08
  • 2012-12-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多