0

我有一个表格,我想:
1- 在里面输入一个默认名称
2- 当有人点击表格时,默认文本会出来,他们可以写。当他们在他们所写的文本之外单击时,仍然可以发送。
3-当有人在没有写任何东西的情况下点击外面时,默认名称会回来

我试过了: onblur="(this.value='nom') 但是当用户写作并且他在外面点击时,他写的东西被删除了。

<form>
<input type="text" name="titol" value="nom" onClick="(this.value='')"  " />
</form>

我在这里有一个例子:http: //jsbin.com/aposun/1/edit

4

3 回答 3

2

修改您的输入:

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

在 HTML5 中,您可以placeholder改用:

<input type="text" id="titol" name="titol" placeholder="nom" />
于 2012-08-31T08:34:55.313 回答
0

您可以使用最后 2 个回复中提到的 HTML 5 元素占位符,但是如果您需要对任何旧版本或 IE 浏览器的支持,那么您也需要使用 javascript 替代方案。但要小心,因为如果它是必填字段,它们在验证方面可能会有点麻烦。我宁愿不填充它,而是提供一个帮助图标。

然而,这里有一篇关于 javascript 方法的好文章:Javascript 默认文本

于 2012-08-31T08:39:11.330 回答
0

正如他们上面所说,您可以在 html5 中使用 placeholder 属性,但我不太确定浏览器是否支持,所以我修改了您的代码并简单地比较了您作为默认值的值,如果它是默认值它赢了'不清除文本字段:

<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<title>JS Bin</title>
</head>
<body>

<form>
<input type="text" name="titol" id="titol"   /><br />
</form>

</body>
  <script>
    var val = "nom";
    var titol = document.getElementById('titol');
    titol.value = val;

    titol.addEventListener('click', function(){
      if(this.value == val){
         this.value = "";
      }
    });
  </script>
</html>
于 2012-08-31T08:41:47.397 回答