Firefox/Safari 中的 jQuery val() 问题

Posted

技术标签:

【中文标题】Firefox/Safari 中的 jQuery val() 问题【英文标题】:jQuery val() issue in Firefox/Safari 【发布时间】: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 是回车(或回车)键。这听起来像是在您使用该键后触发的事件。 【参考方案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);

以上是关于Firefox/Safari 中的 jQuery val() 问题的主要内容,如果未能解决你的问题,请参考以下文章

Firefox 和 Safari 的 css3 flexbox 兼容性问题

IE 中不正确的 jQuery 选择

为啥 javascript 对象在 Chrome、Firefox、Safari 的控制台中显示不同的值? [复制]

CSS 圆角(Firefox,Safari)

使用 FireFox、Safari 和 Chrome 在剪贴板上复制/放置文本

常用浏览器内核!IE,Chrome ,Firefox,Safari,Opera 等内核