首先是代码:
function focusAction(thefield, autofill) {
if (thefield.value == thefield.defaultValue && (thefield.style.color == 'rgb(153, 153, 153)' || thefield.style.color == '#999999')) {
thefield.style.color = "#000000";
if (autofill == "")
thefield.value = '';
}
}
function blurAction(thefield, autofill) {
//var content = thefield.value;
if (thefield.value == '' || thefield.value == null) {
thefield.value = thefield.defaultValue;
if (autofill == "")
thefield.style.color = "#999999";
} else {
//thefield.style.color="green";
}
}
所以这是交易:如果我把if(thefield.value ==“”|| thefield.value == null)它有效,但你必须有空格。如果该框为空,则不起作用。这只会影响textareas。它适用于空白文本框。
我真的感到困惑,任何人都知道为什么空间有效,但是空的“”或“或”空无效?
答案 0 :(得分:0)
什么不起作用?这适用于空''
:http://jsfiddle.net/wYPNX/
答案 1 :(得分:0)
<强>建议:强>
===
与null进行比较。 答案 2 :(得分:0)
也许它值得颠倒你的代码并像这样测试它:
if (thefield.value && thefield.value.length > 0) {
//thefield.style.color="green";
}
else {
thefield.value = thefield.defaultValue;
if (autofill == "")
thefield.style.color = "#999999";
}