3

我正在使用这个插件:

http://code.google.com/p/jquery-watermark/downloads/detail?name=jquery.watermark-3.1.4.zip

问题是它在 IE9 中将水印值作为文本框的值提交。我怎样才能避免这个问题?

这个问题与这篇文章有点相关:http ://code.google.com/p/jquery-watermark/issues/detail?id=91

但作者否认并将该错误标记为无效。

4

2 回答 2

0

您可能只使用一些简单的 JS 和 CSS 并自己动手。当它们工作时,使用大量的包罗万象的插件是很棒的。

http://jsfiddle.net/VF8Dr/

https://stackoverflow.com/a/14246071/884862

CSS

.placeholder { 
  color: gray; 
  position: absolute;
  padding-left: 10px;
}

JS

function addPlaceholder(id, text) {
  var elm = document.getElementById(id);
  var ph = document.createElement("SPAN");
  ph.className = "placeholder";
  ph.innerHTML = text;
  elm.parentNode.insertBefore(ph, elm.nextSibling);
  ph.style.left = elm.offsetLeft + 'px';
  ph.style.top = elm.offsetTop + 'px';
  ph.onclick = function() {
    ph.style.display = 'none';
    elm.focus();
  };
  elm.onfocus = function() {
    if(ph.style.display != 'none')
      ph.style.display = 'none';
  };
  elm.onblur = function() {
    if(elm.value == '')
      ph.style.display = '';
  };
}
addPlaceholder("demo", "my text");

根据您的需要,简单的可能是最好的。

于 2013-03-11T14:38:51.537 回答
0

我知道这是很老的帖子,但今天我遇到了同样的问题。问题:水印值作为文本框值传递。

基本上我在所有搜索功能中都使用了水印,并且整个搜索功能控件都包含在更新面板中,包括水印文本框。在我的情况下,由于更新面板,文本框值作为水印值传递给服务器端。所以我从更新面板中取出水印文本框,现在一切都按预期工作。

于 2016-08-10T14:32:56.230 回答