2009-07-03 23 views
5

私はこれをウェブ全体で見ていますが、誰かがぼかしの入力値を表示してフォーカスを隠すのに最も簡単な方法のJavaScriptコードを持っているのだろうかと疑問を抱いていました。フォーカスの入力値を表示/非表示にする方法は?

+0

えっ:ブラウザの最新バージョンについては

<input onfocus="if(this.value == 'Your value') { this.value = '';}" onblur="if(this.value == '') { this.value = 'Your value';}" value="Your value" type="text" name="inputname" /> 

?あなたはショーで何を意味しますか?あなたは正確に何をしようとしていますか? –

+1

したがって、入力には例えば "Search ..."があり、入力をクリックすると空白になります。私はすでに答えがあると信じていますが、とにかくイアン! =] –

+1

http://stackoverflow.com/questions/1073428/what-the-best-way-to-display-a-default-text-in-textbixes-and-textareas/1073514#1073514 – Quentin

答えて

0

これは私がmy blogで使用しているものです。そこに行って、ソースコードを調べてみてください。 、

<input 
    name="tb" 
    type="text" 
    value="some text" 
    onblur="if (this.value=='') this.value = 'some text'" 
    onfocus="if (this.value=='some text') this.value = ''" /> 
5

私が知っている最も簡単な方法は以下の通りです:

function displaySearchText(text){ 
    var searchField = document.getElementById('searchField'); 
    if(searchField != null) 
     searchField.value = text; 
} 

あなたの入力フィールドには、次のようになりますplaceholder属性を使用します。それはSafariのボックスの外で動作し、他のブラウザでこの動作を模倣するような控えめなJSを追加することができます。

もっと読み:

とGoogle。 ;-)

解決策はJosh Stodolaが投稿したものと似ていますが、より柔軟で普遍的です。

1

有効なHTMLを気にしない場合:

<input id='searchField' name='q' onblur='displaySearchText("Search...");' onfocus='displaySearchText("");' onkeydown='performSearch(e);' type='text' value='Search...'/> 
+0

を参照してください有効なHTMLについて心配することは決して良いことではありませんか?さらに、1つのブラウザを最適化するだけです... – Juri

+0

バリデーターは単なるツールです。あなたが何をやっているか知っている限り、その出力を無視することができます。結局のところ、今後の標準の最適化はそれほど悪くはありません:) –

+0

プレースホルダーは良いol 'IEを除いて有効に見えます。 – kdubs

17

これはいつも私のために働い:

<input 
    type="text" 
    value="Name:" 
    name="visitors_name" 
    onblur="if(value=='') value = 'Name:'" 
    onfocus="if(value=='Name:') value = ''" 
/> 
7

を私はjQueryの道を好む:

$(function(){ 
    /* Hide form input values on focus*/ 
    $('input:text').each(function(){ 
     var txtval = $(this).val(); 
     $(this).focus(function(){ 
      if($(this).val() == txtval){ 
       $(this).val('') 
      } 
     }); 
     $(this).blur(function(){ 
      if($(this).val() == ""){ 
       $(this).val(txtval); 
      } 
     }); 
    }); 
}); 

それはザックパーデューによってHide Form Input Values On Focus With jQueryに変更されます。

17

これはまだGoogleに公開されているので、HTML5では、これを入力としてプレースホルダ属性を使用して、これを1つのhtmlで実現できることを指摘したいと思います。

<input type="text" id="myinput" placeholder="search..." /> 

現在のところ、プレースホルダは最新のブラウザでは標準的なので、これは実際には好ましい方法です。すべてのブラウザのために

0

<input type="text" name="inputname" placeholder="Your value" /> 
関連する問題