Jquery水印插件在IE9中将水印作为表单的值提交

时间:2013-03-11 14:22:27

标签: javascript jquery html internet-explorer watermark

我正在使用这个插件:

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

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

2 个答案:

答案 0 :(得分: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");

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

答案 1 :(得分:0)

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

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