デフォルト値のテキストが割り当てられた入力ボックスがあります。ユーザーがフィールドにフォーカスしているときにこのテキストを削除するにはどうすればよいですか::
コード
<input type="text" name="kp1_description" value="Enter Keypress Description">
$(document).ready(function(){
var Input = $('input[name=kp1_description]');
var default_value = Input.val();
Input.focus(function() {
if(Input.val() == default_value) Input.val("");
}).blur(function(){
if(Input.val().length == 0) Input.val(default_value);
});
})
それはそれをする必要があります。
更新されました。フォーカスアウトイベントの2番目のパラメーターがないため、フォーカスに2番目のパラメーターがないことを忘れました。これは、ぼかしでチェーンする必要があります。
また、次のような独自の関数を作成することも検討する必要があります。
$.fn.ToggleInputValue = function(){
return $(this).each(function(){
var Input = $(this);
var default_value = Input.val();
Input.focus(function() {
if(Input.val() == default_value) Input.val("");
}).blur(function(){
if(Input.val().length == 0) Input.val(default_value);
});
});
}
その後、そのように使用します
$(document).ready(function(){
$('input').ToggleInputValue();
})
このようにしないでください。jQuery透かしスクリプトを使用します: http ://code.google.com/p/jquery-watermark/
$("input[name='kp1_description']").watermark("Enter Keypress Description")
;
手動で行う場合は、説明しなければならないことがたくさんあります。たとえば、テキストボックスのフォーカスが失われるとどうなりますか?価値がない場合は、ヘルパーテキストを読みたいと思うでしょう。ある場合は、それらの変更を尊重する必要があります。
他の人に重い物を持ち上げさせるのは簡単です:)
HTML5を使用すると、Javascriptなしでそれを行うことができます。placeholder
の代わりに使用するだけですvalue
。これは素晴らしい追加だと思いますが、もちろん、最初にブラウザの互換性を確認する必要があります。
<input type="text" id="anything" placeholder="enter keypress description">
私はこれが役立つと思います
$('input, textarea').each(function () {
var Input = $(this);
var default_value = Input.val();
Input.focus(function() {
if(Input.val() == default_value) Input.val("");
}).blur(function(){
if(Input.val().length == 0) Input.val(default_value);
});
});
var defaultForInput = "abc";
<input id="myTextInput" type="text" placeholder=defaultForInput />
フォームを送信するときは、input(id = "myTextInput")の値が'empty-string'であるかどうかを確認し、そうである場合は(defaultForInput)に置き換えてください。
スーパーデュパーショートバージョン
$('#input_id').focus(function() {
$(this).val("");
});
HTML:
<form method="post">
<input type="text" id="customer" value="Username"/>
<input type="Submit" value="Login" class="rc" />
</form>
Javascriptコード:
<script>
$('#customer').on({
focus:function(){
if(this.value == 'Username') this.value = '';
},
blur:function(){
if(this.value == '') this.value = 'Username';
}
})
</script>
それがすべてです、私はそれが役立つことを願っています。
プレーンJavaScript:
(function () {
let input = document.querySelector ("input[name='kp1_description']");
input.onfocus = function () {
this.placeholder = this.value;
this.value = '';
};
})();
これにより、値が完全に削除されるのではなく、プレースホルダーに保持されます。これが気に入らない場合は、プレースホルダー行を削除してください。