【问题标题】:Problem clearing HTML textarea field in FireFox using jQuery使用 jQuery 在 FireFox 中清除 HTML textarea 字段时出现问题
【发布时间】:2011-05-02 21:28:32
【问题描述】:

我们正在尝试使用 jQuery 清除表单中的文本区域。

它适用于 Safari 和 Chrome,但不适用于 Firefox。 FireFox 中的问题是它正在清除源中的文本(根据 firebug),而不是正常浏览器显示中的文本。

我们使用的代码是:

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

有人知道 Firefox 4 中的一个错误吗?

我们的猜测是,我们需要在更改其值后以某种方式为 firefox 重新渲染 textarea。我们阅读了一些人在 Opera 中遇到了类似的问题,并通过将文本区域的 css 设置为 display:block 来修复它,但我们对此没有任何运气。

我们在 Mac 上使用 FireFox 4.01 和 Firebug 1.7.0

感谢您提供的任何帮助!

【问题讨论】:

  • 我不确定这里发生了什么,但你的方法对我有用(Firefox 4/Ubuntu 11.04):JS Fiddle

标签: jquery firefox textarea


【解决方案1】:

我刚刚在 Firefox 4.0.1 中尝试了您的解决方案,并且似乎有效: http://jsfiddle.net/8NEzR/8/

【讨论】:

  • 现在我因为不尝试而感到有点愚蠢,这确实有效。我猜它一定是我们代码中的其他东西导致了它。我们将把它取出并尝试更好地隔离它。
  • @Minirobot --> 好吧。好的。这里有更多解释:L I N K
【解决方案2】:

您是否尝试过使用text() 而不是val()

$("#text_areas_id").text("");

【讨论】:

  • 对!记住:.val() 代表input
  • .val() 是否删除默认文本?还是只是用户输入?
  • 是的,我们尝试了 text 并且它确实将文本放入源中,但不像 val 那样放入浏览器呈现的文本区域中。我们也明白,作为输入,我们应该使用 val()
  • 运行 .val("") 不会从 firefox 呈现的文本区域中删除任何文本。然而,当我们通过 firebug 查看它时,它似乎正在从源中的 textarea 中删除文本。看起来它被删除了,但是firefox在更改后没有刷新显示文本区域。
  • > 似乎它正在工作。我记得我在这个主题上遇到了麻烦,但我认为我对设置 .attr('value') 或仅使用 .val() 感到困惑! :) 我的错!好吧。这里有更多解释:L I N K
猜你喜欢
  • 2011-08-22
  • 2019-11-19
  • 2018-06-11
  • 2011-06-25
  • 1970-01-01
  • 2020-04-14
  • 2019-12-27
  • 1970-01-01
  • 2011-06-18
相关资源
最近更新 更多