如何在按键上清空文本框

时间:2011-09-05 11:30:08

标签: html

所有这些我都是新人,我遇到了问题。我希望这里有人可以帮助我。 我有一个输入框,默认情况下其值为'ENTER YOUR NAME',该值在焦点上保持均匀。但我想要的是当用户按下任何单词时,应删除默认值并输入该值/她正在打字。

感谢任何帮助。

先谢谢, MEGHA。

5 个答案:

答案 0 :(得分:1)

使用此

的占位符属性 像这样:

<input  placeholder="ENTER YOUR NAME" type='text'>

但它仅适用于支持HTML5的最新浏览器

答案 1 :(得分:1)

如果您想要简单的HTML而不是HTML5而不是jQuery,请将以下内容添加到HTML标记中:

onfocus="if (this.value === 'ENTER YOUR NAME') this.value = ''"

用你想要的任何东西替换你的名字。

答案 2 :(得分:1)

适用于旧版浏览器,需要javascript:

<input type="text" value="ENTER YOUR NAME" onblur="if(this.value === '') this.value = 'ENTER YOUR NAME';" onfocus="if(this.value === 'ENTER YOUR NAME') this.value = '';">

示例:http://jsfiddle.net/q4xKC/

适用于较新的浏览器(http://caniuse.com/#search=placeholder),需要HTML5:

<input type="text" placeholder="ENTER YOUR NAME">

示例:http://jsfiddle.net/m65ea/

要更新:

阅读css/javascript form onfocus placeholder text still there, on typing disappear

答案 3 :(得分:0)

您要求在按键上执行此操作的方法,目前所有其他答案仅显示如何在focusblur上执行此操作,因此,除非我误解了问题,你真的想要这样的东西:

document.getElementById("example").onkeydown = function(e) {
    if(this.value == "Enter something") {
       this.value = "";   
    }
}

这将要求您提供input id,在本例中为“示例”:

<input type="text" id="example">

以上是上述代码的working example

答案 4 :(得分:0)

首先确保使用javascript添加值,不要将其包含在标记中...否则任何没有javascript的人都必须手动删除文本,这不是非常用户友好(除非你想要那种行为OFC)。

因此,您可以在document.ready上填充它,并且特定于您在按键上删除它的要求,而不是在字段获得焦点时,您可以使用以下内容:

$(document).ready(function() {
  $("#nameField").val("ENTER YOUR NAME");
   $("#nameField").keypress(function() {
    if($(this).val() == "ENTER YOUR NAME") {
      $(this).val("");
    }
  });
});

P.S。如果你想确保它是一个单词字符,那么测试你想删除当前内容的字符范围的事件数据。