如何在点击时清除textarea?

Kar*_*rem 43 html javascript textarea

给定一个<textarea>默认值如下:

<textarea>Please describe why</textarea>
Run Code Online (Sandbox Code Playgroud)

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

Dol*_*lph 50

你的JavaScript:

function clearContents(element) {
  element.value = '';
}
Run Code Online (Sandbox Code Playgroud)

你的HTML:

<textarea onfocus="clearContents(this);">Please describe why</textarea>
Run Code Online (Sandbox Code Playgroud)

我假设您想要使其更加强大,以便在第二次聚焦时不擦除用户输入.这里 五个 相关的 讨论文章.

以下是David Dorward在上述评论中提到的(更好)的想法:

<label for="explanation">Please describe why</label>
<textarea name="explanation" id="explanation"></textarea>
Run Code Online (Sandbox Code Playgroud)


Gig*_*lle 36

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

<textarea placeholder="Please describe why"></textarea>
Run Code Online (Sandbox Code Playgroud)

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

  • 这只是HTML5. (6认同)
  • 这不是真的。当用户开始书写而不是点击时它就会消失。 (2认同)

emc*_*e22 8

这是你的javascript文件:

function yourFunction(){
     document.getElementById('yourid').value = "";
};
Run Code Online (Sandbox Code Playgroud)

这是html文件:

    <textarea id="yourid" >
    Your text inside the textarea
    </textarea>
    <button onClick="yourFunction();">
     Your button Name
     </button>
Run Code Online (Sandbox Code Playgroud)


Pau*_* pk 5

尝试:

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


til*_*ldy 5

您是说文本字段那样吗?

<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">
Run Code Online (Sandbox Code Playgroud)

还是这个用于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>
Run Code Online (Sandbox Code Playgroud)