例では、デフォルト値が5のところに入力があります。 しかし、ユーザーはバックスペースを使用してそれを削除します。そのあとで再びデフォルト値を設定します。値が空の場合、入力のデフォルト値を設定する方法は? jQuery
1
A
答えて
2
ご入力は、あなたが最初に設定した場合、デフォルト値を取得するために
$('#test').on('change blur',function(){
if($(this).val().trim().length === 0){
$(this).val(5);
}
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="test" type="text" value = "5" />
2
以下の利用defaultValue
のように行うことができますID test
を持っているとしましょう:
$(':text').on('blur', function(e){
this.value = this.value.trim() || this.defaultValue;
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type='text' value='5'>
0
keyup
の代わりにblur
を使用する方が良いでしょう。理由は次のとおりです。
ユーザーが数字(1桁のみ)を入力したいが、5でない場合は、(3)としましょう。ユーザーがデフォルトの番号(この場合は(5))をバックスペースし、1桁の数字を入力したい場合、ユーザーは決してできません。
$('#test').on('blur',function(){
if($(this).val().trim().length == 0){
$(this).val(5);
}
})
注:また値が整数であるかどうかを確認するためkeyup
機能を使用する必要があり、!isNaN
1
それはデフォルト値を削除するからユーザーを妨げるように私は、keyup
を使用していないお勧めしたいと新しい値で更新します(keyup
がバックスペースキーによってトリガーされた後に値がないため)。
代わりに私が(関連する要素がselector
変数に保持されていると仮定して)与えることを、change
とblur
を使用することをお勧めしたい:
$(selector).on('change blur', function() {
// sets the value of the element based on the current-value;
// if the value is equal to an empty string ('') once the
// leading and trailing white-space is removed (using
// String.prototype.trim()) then we set the value to the
// defaultValue (the value held by the <input> on page-load)
// otherwise we set it to the current-value:
this.value = this.value.trim() === '' ? this.defaultValue : this.value;
});
あなたは再びプレーンのJavaScript –で同じ機能を実装したい場合あなたは以下のように使用することができ、関連する要素がselector
変数–に保持されていると仮定すると:
function defaultIfEmpty(){
let el = this;
el.value = el.value.trim() === '' ? el.defaultValue : el.value;
}
selector.addEventListener('change', defaultIfEmpty);
0
より一般的なソリューション:それは空になっています一度
HTML
<input type='text/numeric/etc' data-default='defaultValue' value='defaultValue' />
はJavaScript
$('input[data-default], textarea[data-default]').on('change blur',function(){
if($(this).val().length == 0) {
$(this).val($(this).attr("data-default"));
}
}
data-default
属性が設定された任意の入力またはテキストエリアはデフォルトにフォールバックします。
0
<input class="test" type="text" value = "5" />
JS
//get default value
val = $('.test').val();
$('.test').on('change blur', function() {
//check if change
if ($(this).val().trim().length === 0) {
$(this).val(val);
}
})
関連する問題
- 1. jTextFieldが空の場合にデフォルト値を設定する方法
- 2. フィールドが空の場合のデフォルト値の設定方法。-php
- 3. 入力タイプ= "number"の場合デフォルト値を0に設定する方法
- 4. 入力テキストが空の場合にデフォルトテキストを設定する方法は?
- 5. MysQL:空行のデフォルト値を設定する方法は?
- 6. JS - varが空の場合、値の略語を設定する
- 7. 空白の値がある場合の自動入力
- 8. 値の設定方法入力フィールドイオン2
- 9. レンダリングのPrestashopバックオフィスの入力フィールドタイプにデフォルト値を設定する方法
- 10. 空の値が入力されている場合。 in csv
- 11. 現在の値が空の場合にのみ、date_fieldのデフォルト値を設定します。
- 12. JQuery合計テキスト入力値選択ドロップダウン値がDIV値と等しい場合
- 13. LINQ:ナビゲーションプロパティがnullの場合、デフォルト値を設定し
- 14. データ入力のデフォルト値をknockout.jsでtext型のユーザー入力にバインドし、ユーザーが値を入力した場合にオーバーライドする方法
- 15. 入力値が{max}に達した場合に入力値を最大値に変更する方法AngularJS
- 16. 角2 - デフォルトがハードコードされている場合のドロップダウンのデフォルト値の設定
- 17. 選択入力のデフォルトの選択値を設定します
- 18. vmをコントローラとして使用する場合の入力フィールドの初期値の設定方法は?
- 19. 状態で入力デフォルト値を設定し、手動で入力を更新する方法は?
- 20. 特定のボタンにデフォルトの「入力」を設定する方法
- 21. Datepicker、入力ボックスにデフォルト値を設定します
- 22. anglejsにフォーム入力値を設定する方法は?
- 23. 入力値が{数字}より大きい場合の値を設定します
- 24. KnockoutJS入力値の設定
- 25. JS-GRID:デフォルト値の設定方法
- 26. 方法:値が存在する場合、出力: "Y" nullの場合、出力: "N"
- 27. ノードが空で、空の場合は値に設定してください
- 28. 値が数値の場合はJqueryチェック
- 29. 入力フィールドの値を設定する
- 30. 入力値をOnclickに設定する
ユーザーがあなたがreadonly属性を使用することができます値を更新していないか、またはデフォルト値に再び値を更新するために、ぼかし、変更またはからkeyup/keydownのイベントを使用することができ、必要に応じて。 –