如何在点击时清除textarea?

时间:2010-05-06 18:49:50

标签: javascript html textarea

给定<textarea>默认值如下:

<textarea>Please describe why</textarea>

当用户点击编辑字段时,如何清除默认值?

12 个答案:

答案 0 :(得分:46)

您的JavaScript:

function clearContents(element) {
  element.value = '';
}

你的HTML:

<textarea onfocus="clearContents(this);">Please describe why</textarea>

我假设你想要使它更加健壮,以便在第二次聚焦时不擦除用户输入。 Here are five related discussions&amp; articles

以下是David Dorward在上述评论中提到的(much better) idea

<label for="explanation">Please describe why</label>
<textarea name="explanation" id="explanation"></textarea>

答案 1 :(得分:36)

您可以使用HTML5中引入的占位符属性:

<textarea placeholder="Please describe why"></textarea>

这会将填充文字设置为灰色,当用户单击文本字段时,该文本将自动消失。此外,如果它失去焦点并且文本区域为空白,它将重新出现。

答案 2 :(得分:7)

这是您的javascript文件:

function yourFunction(){
     document.getElementById('yourid').value = "";
};

这是html文件:

    <textarea id="yourid" >
    Your text inside the textarea
    </textarea>
    <button onClick="yourFunction();">
     Your button Name
     </button>

答案 3 :(得分:5)

尝试:

<input name="mytextbox" onfocus="if (this.value=='Please describe why') this.value = ''" type="text" value="Please Describe why">

答案 4 :(得分:4)

对于textfield,你的意思是这样吗?

<input type="text" onblur="if(this.value == '') this.value='SEARCH';" onfocus="if(this.value == 'SEARCH') this.value='';" size="15" value="SEARCH" name="xSearch" id="xSearch">

或者对于textarea?

<textarea id="usermsg" rows="2" cols="70" onfocus="if(this.value == 'enter your text here') this.value='';" onblur="if(this.value == '') this.value='enter your text here';" >enter your text here</textarea>

答案 5 :(得分:0)

迄今为止我所知道的最佳解决方案:

<textarea name="message" onblur="if (this.value == '') {this.value = 'text here';}"   onfocus="if (this.value == 'text here') {this.value = '';}">text here</textarea>

答案 6 :(得分:0)

如果您有来自数据库的动态数据,这是一个解决方案...
&#39;数据&#39;变量表示数据库数据 如果尚未保存数据,则会显示占位符 一旦用户开始输入,占位符将消失,然后他们可以输入文本。

希望这有助于某人!

// If data is NOT saved in the database
if (data == "") {
    var desc_text = "";
    var placeholder = "Please describe why";
// If data IS saved in the database
} else {
    var desc_text = data;
    var placeholder = "";
}

<textarea placeholder="'+placeholder+'">'+desc_text+'</textarea>

答案 7 :(得分:0)

不需要脚本。您可以使用 onbluronfocus 结合 placeholder 使文本消失并出现在 textarea 上。

<textarea onblur="this.placeholder='Write something..'" onfocus="this.placeholder=''" placeholder="Write something.." name="" cols="40" rows="4"></textarea>

答案 8 :(得分:-1)

<textarea name="post" id="post" onclick="if(this.value == 'Write Something here..............') this.value='';" onblur="if(this.value == '') this.value='Write Something here..............';" >Write Something here..............</textarea>

答案 9 :(得分:-1)

jQuery属性val()应该完成这项工作。 你可以$('#YourTextareaID').click(function(e) { e.target.value = ''; })

答案 10 :(得分:-1)

您可以尝试使用此代码,

<textarea name="textarea" cols="70" rows="2" class="searchBox" id="textarea" onfocus="if(this.value == 'Please describe why') this.value='';" onblur="if(this.value == '') this.value='Please describe why';">Please describe why</textarea>

答案 11 :(得分:-2)

<textarea onClick="javascript: this.value='';">Please describe why</textarea>