なぜこれが機能しないのか分かりませんが、JavaScriptの非常に一般的なビットです。私の構文は明らかに欠けており、理由はわかりません。JQuery:空の入力ボックスonclick
<input type="text" value="search" id="search" name="q" onclick="javascript:if($(this).val() == 'search') {$(this).val() = '';} return false;" />
ありがとう!
なぜこれが機能しないのか分かりませんが、JavaScriptの非常に一般的なビットです。私の構文は明らかに欠けており、理由はわかりません。JQuery:空の入力ボックスonclick
<input type="text" value="search" id="search" name="q" onclick="javascript:if($(this).val() == 'search') {$(this).val() = '';} return false;" />
ありがとう!
あなたの問題は、コード行である:
$(this).val() = ''
のjQueryに値を設定する適切な方法は次のとおりです。また
$(this).val("Your value here");
、インラインJSは良いアイデアになることはありません。これを代わりに使用:
$("#search").on("click", function() {
if ($(this).val() == "search")
$(this).val("")
});
ここはa working fiddleです。
参考文献:jQuery .val()
不要$(this).val( "");または$(this).val( '');空にすることは
<input type="text" value="search" id="search" name="q" onclick="javascript:if($(this).val() == 'search') {$(this).val('');} return false;" />
+1完全に働いた。ありがとう! –
それがフォーカスを失った後、何も入力されたされていない場合
はこれが初期値に戻ります...別のJSファイルにこれを入れてください。$(document).ready(function() {
$("#search").focus(function() {
if ($(this).val()=="search") {
$(this).val('');
}
});
$("#search").blur(function() {
if ($(this).val()=="") {
$(this).val('search');
}
});
});
これはまた素晴らしいです、私はジェームズの答えの後に実際に同じコードを書いています。ありがとう、しかし! –
function search(textBox)
{
if($(textBox).val() == 'search') {
$(textBox).val() = '';
}
return false;
}
<input type="text" value="search" id="search" name="q" onclick="return search();" />
これとデバッグを試してみてください。
それはこのようにする必要があります:
<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() = '';
これは、HTML5のプレースホルダに容易になりました:
<input type="text" name="search" placeholder="Enter your search query here">
あなたが唯一の近代的なものをターゲットにしている場合には、古いブラウザではサポートされていますが、いません、あなたはそれを使用するといいです:http://caniuse.com/#feat=input-placeholder
プレースホルダ属性は実際にこれをもっと簡単にします(ブラウザがサポートしている場合)。しかし、単にリンクを回答として投稿しないでください。リンクは腐敗して消える傾向があります。主な内容はあなたの答えに掲載されるべきです。 –
こんにちはチャック、txフィードバック。私は自分の返信を更新しました。 – Jarown
完璧です。ありがとう! –