2014-12-16 4 views
5

У меня есть этот код:Как проверить, если определенное текстовое поле под конкретный DIV пуст

<PlaceHolder> 
<div class="greenDiv"> 
    <asp:TextBox ID="a" runat="server" /> 
</div> 
<div class="greenDiv"> 
    <asp:TextBox ID="ab" runat="server" /> 
</div> 
</PlaceHolder> 

Мне нужно, чтобы пользователь мог знать, если он оставил Textbox пустым, я пытался что-то вроде этого .. (не работает) Что я пропустил?

$('.greenDiv > input:text').blur(function() { 
    if (!$(this).val()) { 
    alert("fill this field"); 
    } 
}); 

ответ

4

Попробуйте использовать input[type=text] вместо

$('.greenDiv>input[type=text]').blur(function() { 
    if (!$.trim($(this).val())) { 
     alert("fill this field"); 
    } 
}); 
+0

Не работает. Я добавляю его в функцию $ (document) .ready(). это важно? – Damkulul

+0

Нет, его можно добавить в 'ready()'. Вы добавили jQuery. Проверьте свою консоль, чтобы увидеть, что произошла какая-либо ошибка! – MH2K9

+0

Да jquery работает отлично .. никаких ошибок. – Damkulul

1

Вместо input:text вы должны использовать input[type=text]

+0

текстовые поля находятся в двух разных div с одним и тем же классом = «greenDiv» каждый div - один текстовый код – Damkulul

+0

Исправлен соответствующий код –

3
$('.greenDiv > input[type=text]').on('blur', function (e) { 
    if (!$(e.currentTarget).val()) alert('fill this field'); 
}); 
1

Попробуйте

<PlaceHolder> 
<div class="greenDiv"> 
    <asp:TextBox ID="a" class="x" runat="server" /> 
</div> 
<div class="greenDiv"> 
    <asp:TextBox ID="ab" class="x" runat="server" /> 
</div> 
</PlaceHolder> 

ниже Jquery

$('.greenDiv .x').blur(function() { 
       if (!$(this).val()) { 
        alert("fill this field"); 
       } 
      }); 
1

Попробуйте это:

$('.greenDiv > input:text').blur(function() { 
    if ($.trim($(this).val()) === '') { 
     alert("fill this field"); 
    } 
}); 

Ваш селектор в порядке. Когда вы используете !$(this).val(), вы разрешаете входы с пробелами (или любым другим невидимым персонажем) проваливаться. Ввод с одним пространством технически не пуст. Вместо этого попробуйте $.trim(something) === ''.

Смежные вопросы