2011-08-16 27 views
1

入力ボックスが作成され、「コメント?」と表示されます。ユーザーが何かを入力する前に。コード;値を削除する=「コメント?」入力ボックスからクリックするとすぐに

  <input type="text" name="saysome" value = "comments?"/> 

しかし、この「コメント?」を削除しますか?私はここの検索ボックスのように入力ボックスをしようとしています、実際には同じです。どうすればいいですか?それはjavasciptだけでできますか? :(

おかげ

のjQueryなし
+2

古いブラウザの場合、 'value ='の代わりに 'placeholder =" "'と[JS fallback](https://github.com/parndt/jquery-html5-placeholder-shim)を試してみてください。 – mario

+0

PHPがここにある – GBa

答えて

-1

:。

が入力にIDを付けて、onclickイベントを使用してその値をクリア

<input type="text" name="test" id="test" value="test" onclick="if(document.getElementById('test').value=='test')document.getElementById('test').value='';"> 

はまた、HTMLを使用していない古いブラウザをサポートしています5.

+0

-1に当てはまるかどうかわかりませんが、これはテキストが「コメント?」と初めて表示されるだけでなく、毎回消去されます。 – GBa

+0

良いキャッチ。仮にそれを修正しました。それが何度も起こるのを防ぐために別の変数を取得する方がいいです... –

3

ここにあるhtml5プレースホルダ属性を使用できます。 HTML5 Specs

例えば

<input type="text" name="saysome" placeholder = "comments?"/> 

また、HTML5をサポートしていないブラウザのためのJavaScriptのアプローチを取ることができます。

0

非jqueryの:

onClick="clearComments()" 

function clearComments() { 
    commentInput = document.getElementById("commentsId"); 
    if(commentInput.value == 'comments?') { 
     commentInput.value = ''; 
    } 

} 
0

他のコメンターが述べたように、プレースホルダをチェックアウトする必要があります。あなたの質問に答えるために、このメソッドは、ユーザーがまだ何かを入力していなければ、マウスのクリックでテキストを削除します。これは、入力のIDがtextboxであることを前提としています。あなたはあなたが持っているものに変更しなければなりません。そうでなければ、入力にidを割り当てる必要があります。

<input id="textbox" type="text"/> 

とJS:

document.getElementById('textbox').onclick = function() 
{ 
    var box = document.getElementById('textbox'); 
    if(box.value==box.defaulValue)box.value ==''; 
} 
1

簡単な方法は、ユーザーがそれ

<input type="text" name="TB" value="Please Enter.." onfocus="this.value==this.defaultValue?this.value='':null"/> 
0
<input type="text" name="saysome" onblur="if(this.value=='') this.value='comments?';" onclick="this.value=''" value="comments?" /> 

に何かを入力した場合、それはいつでもボックスにフォーカスがある、としませクリアされますこの例を参照@http://x.co/Z2pa

関連する問題