2016-10-21 11 views
0

ユーザ名ボックスをクリックするとテキストが消えてしまいますが、私はonfocusで正しくやっていますか?私は間違って何をしています、助けてください。JavaScriptコード:フォーカス時にテキストボックスを空にしたい

document.getElementById("username").onfocus = function() { 
 
    document.getElementById("username").value = ""; 
 
}
<form name="Sign Up"> 
 
    <fieldset> 
 
    <legend><i><b>Siqn Up</b></i> 
 
    </legend> 
 
    <p> 
 
     <label for="username">Username</label> 
 
     <input type="text" value="Unique ID" name="username"> 
 
    </p> 
 
    <p> 
 
     <label for="email">Email</label> 
 
     <input type="text" name="email"> 
 
    </p> 
 
    <p> 
 
     <label for="password">Password 
 
     <input type="password" name="password"> 
 
     </label> 
 
    </p> 
 
    <input type="submit" value="Sign Up"> 
 
    </fieldset> 
 
</form>

+0

方法**プレースホルダを使用する方法について**? value = "username"の代わりに、placeholder = "username"となります。 JavaScriptは必要ありません。 – user2182349

答えて

1

テキストボックスにのみ"username"nameを持っています。それにもid属性を付ける必要があります。 JavaScriptの関数はgetElementBy 同上と呼ばれる方法を

<input type="text" value="Unique ID" name="username" id="username"> 

お知らせ? :)つまり、それはIDが必要です!

+0

ありがとうございました。 –

4

valueを直接的に変更するのではなく(ハックの種類や問題が発生しやすい)、placeholder属性を使用します。それはまさにこれを行うために作られました - javascriptは必要ありません。あなたはgetElementsByName getElementByIdをを使用して、見つかったことはありません引数として "name" 属性を渡し、その使用されている

<input type="text" name="username" placeholder="Unique ID">

+0

すごくいい男、どこから来たの? –

+0

'placeholder'はHTML仕様に少し前から追加されています - あなたが興味があるなら、ここで非常に徹底的なドキュメントを読むことができます! https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input – jack

1

document.getElementsByName("username")[0].onfocus=function() 
document.getElementsByName("username")[0].value = ""; 
+0

ありがとうございます。 –

関連する問題