フィールドに入力する内容を説明するデフォルト値を持つフォームがあります (ラベルを置き換えます)。ユーザーがフィールドにフォーカスすると、次の関数が呼び出されます。
function clear_input(element)
{
element.value = "";
element.onfocus = null;
}
onfocus は null に設定されているため、ユーザーがフィールドに何かを入力してそれを変更することを決定した場合、入力は消去されません (したがって、一度だけ消去されます)。ここで、ユーザーがデータを入力せずに次のフィールドに移動すると、この関数 (onblur と呼ばれます) を使用してデフォルト値が復元されます。
function restore_default(element)
{
if(element.value == '')
{
element.value = element.name.substring(0, 1).toUpperCase()
+ element.name.substring(1, element.name.length);
}
}
たまたまデフォルト値が要素の名前だったので、ID を追加する代わりに name プロパティを操作しました。問題は、要素をスキップすると、onfocus イベントが clear_input で無効化されますが、復元されないことです。
追加した
element.onfocus = "javascript:clear_input(this);";
restore_default 関数では機能しません。どうすればいいですか?