隐藏字段中的默认文本-Javascript?

隐藏字段中的默认文本-Javascript?,javascript,hide,field,Javascript,Hide,Field,我希望当我点击任何字段时,默认文本将被隐藏,当我在其中输入文本并再次点击同一字段时,文本不会被隐藏 我试过这个代码,但不起作用 JAVASCRIPT代码: for(var i = 0; i < inputs.length; i++) { inputs[i].onfocus = function() { if(typeof value1 != undefined) { this.value = value1; }else {

我希望当我点击任何字段时,默认文本将被隐藏,当我在其中输入文本并再次点击同一字段时,文本不会被隐藏

我试过这个代码,但不起作用

JAVASCRIPT代码:

for(var i = 0; i < inputs.length; i++) {
    inputs[i].onfocus = function() {
        if(typeof value1 != undefined) {
             this.value = value1;

        }else {
            value = this.value;
            this.value = '';
            this.style.color = "#000";
        }
    }

    inputs[i].onblur = function() {
            if(this.value == '' || this.value == value) {
                this.value = value;
                this.style.color = "#707070";
            }else {
                value1 = this.value;
            }
        }
    }
}
for(变量i=0;i
类似于:

var box=document.getElementById("text");
function clearTextbox(){ if(box.value==="Default")box.value=""; }
function checkContent(){ if(box.value==="") box.value="Default" }
box.addEventListener("focus", clearTextbox);
box.addEventListener("blur", checkContent);


更通用的版本:

是否正在查找占位符属性

<input type="text" name="fname" placeholder="First name">

如果你不想要HTML5,你当然要模拟。您必须添加一个类来标记输入字段的“状态”,并对其进行测试

<input id="fname" type="text" value="enter first name" />
<input id="lname" type="text" value="enter last name" />

$("input[type='text']").each(function () {
    $(this).focus(function () {
        if ($(this).hasClass("has-input")) {
            $(this).val($(this).val());
        } else {
            $(this).val("");
        }
    })

    $(this).blur(function () {
        if ($(this).val() !== '') {
            $(this).addClass('has-input');
        } else {
            $(this).removeClass('has-input');
        }
        if (!$(this).hasClass('has-input')) {
            $(this).val($(this).attr('value'));
        }
    })

});

$(“输入[type='text']”)。每个(函数(){
$(this).focus(函数(){
if($(this).hasClass(“has input”)){
$(this.val($(this.val());
}否则{
$(此).val(“”);
}
})
$(this).blur(函数(){
如果($(this.val()!=''){
$(this.addClass('has-input');
}否则{
$(this.removeClass('has-input');
}
if(!$(this).hasClass('has-input')){
$(this.val($(this.attr('value'));
}
})
});

检查小提琴:

但我想当我再次单击同一字段时,输入的文本不会隐藏,但我有几个文本字段和几个默认文本,我认为您的代码对我没有帮助。如果默认文本值包含在“值属性”中,则无需使用多个数据对象,并且需要开销管理输入元素的。但需要将其重置为默认值。我这次不想使用HTML5。为什么每次按键都会对DOM/浏览器施加压力?@Lilith-注意所做的更改。你说得对,这更优雅。