【问题标题】:jQuery val() issue in Firefox/SafariFirefox/Safari 中的 jQuery val() 问题
【发布时间】:2011-09-04 15:21:42
【问题描述】:

我正在尝试使用 jQuery 代码访问文本框值;

$("#pg_textbox").val();

但它在 Firefox/Safari 中没有返回正确的值..

均匀

$("#paging_textbox").attr("value") 

不工作..

在 Firefox 调试器中,它有点像 keyCode = 13, ..

但我想要用户输入的实际值.. 请帮我。谢谢。

*更新代码

HTML

<input type="text" maxlength="5" size="2" value="1" id="paging_textbox">

JS

textValue = $("#paging_textbox").attr("value");
alert(textValue);

【问题讨论】:

  • 它是文本区域还是输入字段(类型=文本)?尝试更精确地指向选择器: $('textarea#pg_textbox').val() ?
  • 你确定选择器是正确的吗?在上面的示例中,您显示了两个不同的选择器。
  • 您似乎使用了错误的选择器。尝试查看页面源代码并找到 id = pg_textbox 的文本框,或在 firebug 中检查。
  • 页面中的 id 是正确的。这里只是复制/粘贴错误...所以它是一个文本框,代码为 请帮忙。谢谢。
  • keyCode 13 是回车(或回车)键。这听起来像是在您使用该键后触发的事件。

标签: javascript jquery html css javascript-framework


【解决方案1】:

检查文本框的 ID/名称。

HTML

<input type="textbox" id="pg_textbox" name="pg_textbox" value="Hello!" />
<input type="button" id="GetValue" name="GetValue" value="Get Value" />

Javascript

$("#GetValue").click(function() {
  alert( $("#pg_textbox").val() ); 
});

尝试在jsFiddle 上查看此示例。

【讨论】:

  • 那么,您的文本框的名称是 paging_textbox,然后呢?您是否尝试过使用 FireBugs 进行调试?您确定没有页面错误(脚本)吗?你能把一些示例代码放在某个地方让我们看看吗?
  • 所以在调试器中显示“charCode = 0, keyCode = 13, ...”
  • 因此,它不是返回用户输入的“01”,而是在 Firefox 中返回这个......虽然在 IE 中工作正常......而且当我发出警报时,它显示 [object KeyboardEvent] for textValue = $("#paging_textbox").attr("值");
  • @hmthr:我认为你必须在这里展示一些脚本。在我看来你做错了什么:-s
  • 查看整个脚本会很有帮助。无论如何,尝试打印您的 jQuery 版本: alert($().jquery);
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多