2013-03-11 20 views
3

我使用這個插件:jQuery的水印插件提交水印爲形式的價值在IE9

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

但筆者否認,並標記爲無效的bug。

+3

任何你不僅僅使用['placeholder']的原因(http://diveintohtml5.info/forms.html#placeholder)+ [一個墊片](https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-browser-Polyfills)在哪裏需要? – 2013-03-11 14:33:43

+0

@Matt Ball:因爲我需要支持IE8 – Jack 2013-03-11 14:52:15

+1

因此「需要的地方就有墊片」。 @PeterCampbell很確定這不是同一個jQuery插件。 – 2013-03-11 15:23:36

回答

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"); 

根據您的需求,簡單的可能是最好的。

0

我知道這是很舊的帖子,但今天我面臨同樣的問題。 問題:水印值作爲文本框值傳遞。

基本上我在所有搜索功能中都使用了水印,並且整個搜索功能控件都包含在更新面板中,包括水印文本框。在我的情況下,因爲updatepanel,文本框值作爲水印值傳遞給服務器端。所以我拿出水印文本框出來的updatepanel和一切正常工作現在。