在“获取”期间处理textarea值而无需稍后写入

时间:2014-07-22 15:03:56

标签: jquery jquery-plugins textarea return-value

好吧,如果问题看起来令人困惑,可能是因为它可能有点愚蠢/愚蠢。

尝试编写一个jQ插件,可能允许在每次调用 get 时操纵<textarea />的值,但不会更改用户看到的内容。

一般的想法是:

  • 我的网页上有一个<form /><textarea />
  • 我将插件调用onload
  • 用户输入“Bob”。
  • 如果不对<{1}}或ajax进行 操作,则表单中提交的值为“form submit”而不只是“1.) Bob”。
  • 但是,除了“Bob
  • 之外,用户永远不会看到其他任何内容

如果表单让您感到困惑,那么请将其排除在示例构思之外。这并不重要,提交甚至不重要。一般的想法很简单。在调用Bobele.value时,操作该值而无需进一步的JavaScript代码,并且用户根本无法看到任何更改。

我看过可能正在使用$(ele).val(),但是没有找到一个没有显示为方法属性的工作操作(bleh!)。所以我也查看__proto__jQuery.hooks可能会对jQuery lib进行操作,因为这将是一个jQ插件,但我还没有想出一个合适的方法来编辑它没有出现某种错误,一般来说,有六个范围问题。

还有其他想法吗?

1 个答案:

答案 0 :(得分:1)

这样的东西?:

(function ($) {
  var originalVal = $.fn.val;
  $.fn.val = function(value) {
   if (typeof value != 'undefined') {
     // setter invoked, do processing
   }
return ('1.) ')+(originalVal.call(this, value));
};
})(jQuery);