【问题标题】:jQuery .val() returning wrongjQuery .val() 返回错误
【发布时间】:2011-07-10 15:13:10
【问题描述】:

我有以下简单的形式;

<form method="post" action="inc/core.php">
    <input type="textbox" name="lognick" value="samp" />
    <input type="password" name="logpass" />
</form>

我正在努力让他们的价值通过;

var logname = $("input[name=lognick]").val();
var logpass = $("input[name=logpass]").val();

logname 总是返回“samp”(默认值)并且 logpass 未定义。我也尝试过使用.attr("value"),但结果相同。

当尝试在空白页面上使用它时,它可以完美运行。 这是整个 onclick 功能; http://pastebin.com/pQiVAuEW

谢谢!

【问题讨论】:

  • 你能做一个 jsFiddle 来说明这个问题吗? jsfiddle.net
  • 根据你的jQuery版本,你能试试.prop('value')吗?
  • 您还有更多具有这些名称的表单元素吗?
  • 当您甚至没有添加 value 属性时,是否会通过 val() 或 attr('value') 获得“未定义”。
  • logpass 名称在此页面上使用了两次。试试这个: var logpass = $("input[name='logpass']").get(0).value;

标签: jquery input get


【解决方案1】:

我无法复制该问题,并且可以正常访问该值。密码框没有值,所以它应该是未定义的。

this JSFiddle

【讨论】:

    【解决方案2】:

    您尝试过$('#some_id').val()document.getElementById("some_id").value 吗?如果它们不起作用,您是否在正确的位置调用该函数?可能发生的情况是,代码(我想是 JavaScript)在表单的编写阶段而不是在您输入值之后运行。

    【讨论】:

      猜你喜欢
      • 2021-09-06
      • 2016-12-01
      • 2011-09-10
      • 2012-06-05
      • 2021-05-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-08
      相关资源
      最近更新 更多