控制表单中的文本

时间:2012-08-31 08:28:49

标签: html forms

我有一张表格,我想:
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

3 个答案:

答案 0 :(得分: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" />

答案 1 :(得分:0)

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

但是这里有一篇关于javascript方式的好文章:Javascript default text

答案 2 :(得分:0)

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

<!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>