2017-03-02 4 views
1

入力タイプが空であるかどうか、すべてのタイプでチェックしたいと思います。次のコードがあります。jqueryを使用してすべてのタイプの入力が空であるかどうかを確認する方法は?

jqueryの問題は、テキストベースの入力では機能しますが、数値フィールドに文字を追加すると、lengthメソッドが意図したとおりに機能しなくなります。

すべてのタイプの入力に対して空でないフィールドを確認したいと思います。ユーザーがフィールドに何か(テキストまたは数値など)を入力した場合は、空ではないとみなす必要があります。

$(".textyformcontrol").blur(function() { 
 

 
    if ($(this).val().length > 0) { 
 
    $(this).parent('.formcontrolparent').find('.animatedlabel').addClass('filled'); 
 
    } else { 
 
    $(this).parent('.formcontrolparent').find('.animatedlabel').removeClass('filled'); 
 

 
    } 
 

 

 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="formcontrolparent form-group"> 
 
    <input required type="number" name="Phone no" class="form-control textyformcontrol" /> 
 
    <label class="animatedlabel">Phone no.</label> 
 
    <img src="icons/mobile_16.png" alt="phone number" /> 
 
</div>

+0

長さを変えずに、値が "'であるかどうかを確認してください。 – Rex

+0

($(this).val())がすべての入力に対して機能する場合は、数値フィールドに文字を追加すると数字が表示されます –

+0

このフィドルをチェックすると、長さにも価値があるようです。 https://jsfiddle.net/rd6pp7ns/ – Rex

答えて

0

これを試してみてください:

$("input:empty").length == 0; 

、その値がゼロの場合、すべての入力には、いくつかの値を持つことを意味します。

0

これを試してください:

$(document).on("blur" ,".textyformcontrol" ,function() { 

if ($(this).val() != "") { // Non-empty 
    // Do something 

    } else { // empty 
    // Do something 
    } 

を})。

関連する問題