Вы, вероятно, хотите вместо этого onfocus, посмотрите на этот пример:
<input type="text" value="Name"
onfocus="if(this.value === 'Name'){this.value = ''}"
onblur="if(this.value === ''){ this.value = 'Name'}" >
Если текущее значение в фокусе имеет значение «Имя», установите значение в ничего
Еслитекущее значение размытия не имеет значения, установите его в «Имя»
Лучшим способом сделать это было бы сделать функцию autoclear, чтобы вам не приходилось каждый раз вводить ее заново:
function autoClearField(domElement)
{
var defaultValue = domElement.value;
domElement.onfocus = function()
{
if(this.value === defaultValue)
{
this.value = '';
}
}
domElement.onblur = function()
{
if(this.value === '')
{
this.value = defaultValue;
}
}
}
А для HTML вы используете:
<input id='name' type="text" value="Name" >
При вызове такой функции устанавливается autoclear:
autoClearField(document.getElementById('name'));
Работающий jsFiddle