2012-03-19 28 views
9

なぜこれが機能しないのか分かりませんが、JavaScriptの非常に一般的なビットです。私の構文は明らかに欠けており、理由はわかりません。JQuery:空の入力ボックスonclick

<input type="text" value="search" id="search" name="q" onclick="javascript:if($(this).val() == 'search') {$(this).val() = '';} return false;" /> 

ありがとう!

答えて

14

あなたの問題は、コード行である:

$(this).val() = '' 

のjQueryに値を設定する適切な方法は次のとおりです。また

$(this).val("Your value here"); 

、インラインJSは良いアイデアになることはありません。これを代わりに使用:

$("#search").on("click", function() { 
    if ($(this).val() == "search") 
     $(this).val("") 
});​ 

ここはa working fiddleです。

参考文献:jQuery .val()

+2

完璧です。ありがとう! –

0

不要$(this).val( "");または$(this).val( '');空にすることは

<input type="text" value="search" id="search" name="q" onclick="javascript:if($(this).val() == 'search') {$(this).val('');} return false;" /> 
+1

+1完全に働いた。ありがとう! –

4

それがフォーカスを失った後、何も入力されたされていない場合

はこれが初期値に戻ります...別のJSファイルにこれを入れてください。

$(document).ready(function() { 
    $("#search").focus(function() { 
     if ($(this).val()=="search") { 
      $(this).val(''); 
     } 
    }); 

    $("#search").blur(function() { 
     if ($(this).val()=="") { 
      $(this).val('search'); 
     } 
    }); 
}); 
+0

これはまた素晴らしいです、私はジェームズの答えの後に実際に同じコードを書いています。ありがとう、しかし! –

-2
function search(textBox) 
{ 
    if($(textBox).val() == 'search') { 
     $(textBox).val() = ''; 
    } 
    return false; 
} 

<input type="text" value="search" id="search" name="q" onclick="return search();" /> 

これとデバッグを試してみてください。

2
$(this).val() = ''; 

$(this).val(''); 

する必要がありますが.val()マニュアルを参照してください。

2

それはこのようにする必要があります:

<input type="text" value="search" id="search" name="q" onclick="javascript:if($(this).val() == 'search') {$(this).val('');} return false;" /> 

correct way : $this.val(''); 
incorrect way : $this.val() = ''; 
1

これは、HTML5のプレースホルダに容易になりました:

<input type="text" name="search" placeholder="Enter your search query here"> 

あなたが唯一の近代的なものをターゲットにしている場合には、古いブラウザではサポートされていますが、いません、あなたはそれを使用するといいです:http://caniuse.com/#feat=input-placeholder

+0

プレースホルダ属性は実際にこれをもっと簡単にします(ブラウザがサポートしている場合)。しかし、単にリンクを回答として投稿しないでください。リンクは腐敗して消える傾向があります。主な内容はあなたの答えに掲載されるべきです。 –

+0

こんにちはチャック、txフィードバック。私は自分の返信を更新しました。 – Jarown

関連する問題