长话短说,除了是一个菜鸟,我不知道为什么这不起作用。总的来说,我有不同的功能来检查不同的东西。
为了这个例子,我有一个表单(一个要测试的字段),默认值为say..“在此处输入名称”。所以下面的html
<input type="text" value="enter name here" id="fieldOne"/>
下面是js。
// sample vars
var fieldOne = $('#fieldOne');
//下面的这个函数将在模糊时触发。
function checkVal(){
if($(this).val()== $(this).attr('defaultValue')){
$(this).css("background-color","red");
$(this).css("color","white");
} else if($(this).val()==""){
$(this).css("background-color","red");
$(this).css("color","white");
$(this).val("oopsiiee, you forgot this one");
} else {
$(this).css("background-color","green");
$(this).css("color","white");
}
}
然后在表单字段上,在模糊上我这样做
fieldOne.blur(checkVal);
ETC...
以上工作,
现在因为它有一个默认值,所以我想要它,以便当用户单击所述字段时,该默认值消失。
所以我做这样的事情:
function clearField(){
$(this).val("");
}
这行得通
fieldOne.click(clearField);
ETC...
现在的问题是,即使数据已从 def 更改为任何内容,输入的 mssg 也会再次消失 SOOooo,我想编辑这个简单的功能,以便如果 mssg 是默认值,请清除它。如果 mssg 不是默认值,则意味着它已更改,因此请保留它。所以我写这个打破了整个事情。
function clearField(){
if($(this).val() == $(this).attr('defaultValue')){
$(this).val() == "";
}
}
不知道发生了什么。
我也试过
function clearField(){
if($(this).val() == $(this).attr('defaultValue')){
$(this).attr('defaultValue') == "";
}
}
我虚心接受/欣赏任何提示、想法、更正等
先谢谢了。