从文本输入中清除(和恢复)默认值

时间:2010-11-14 15:46:42

标签: javascript html

我有一个写有初始值的文本框,我希望该框在点击(活动)时清晰。

例:   //想要点击以便从用户输入值

3 个答案:

答案 0 :(得分:3)

写一下

 <input type='text' name='myText' onFocus='this.value="";'/>

<强>更新:
如果你想要什么,如果你没有输入任何值,那么

<input type="text" onfocus="if(this.value=='Search') this.value='';" onblur="if(this.value=='') this.value='Search';" value="Search" />

答案 1 :(得分:3)

上述两种解决方案都不是很好 - 在这种情况下,内联事件是一个很好的解决方案。您需要的是使用HTML5 placeholder属性,并使用一些Javascript,为不支持它的浏览器添加对它的支持。您的HTML将如下所示:

<input type="text" placeholder="Search" id="search" />

这适用于当前版本的Safari和Chrome。对于其他浏览器,您可以使用此Javascript:

// Creates a new element and check if it has the 'placeholder' property
// If it does not, then we know that the browser does not support HTML5 placeholder
if(typeof document.createElement('input').placeholder === 'undefined'){
    // Find the input element with the id "search" and get the 'placeholder' attribute
    var input = document.getElementById('search'), 
        p = input.getAttribute('placeholder');

    // Give it the placeholder value
    input.value = p;

    // Clear input on focus, then add the placeholder text 
    // back in if there's nothing there after the user changes edits the box
    input.onfocus = function(){
        if(this.value === p) this.value = '';
    }
    input.onblur = function(){
        if(!this.value) this.value = p;
    }
}

您可以在此处看到一个简单的演示:http://jsfiddle.net/RT8Bf/

答案 2 :(得分:1)

您可以使用javascript查看onclick事件。这是一个小例子:

<input type="text" onclick="this.value='';" />