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