2014-12-16 13 views
5

ho questo codice:Come verificare se una casella di testo specifica nell'ambito di un div specifico è vuoto

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

ho bisogno per permettere all'utente di sapere se ha lasciato una casella di testo vuota, ho provato qualcosa di simile .. (non funziona) Cosa mi è mancato?

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

risposta

4

Prova utilizzando input[type=text] invece

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

Non funziona .. Lo aggiungo nella funzione $ (documento) .ready(). è importante? – Damkulul

+0

No, può essere aggiunto in 'ready()'. Hai aggiunto jQuery. Controlla la tua console per vedere se si sono verificati errori! – MH2K9

+0

Sì jquery funziona bene .. nessun errore. – Damkulul

1

Invece di input:text si dovrebbe usare input[type=text]

+0

le caselle di testo sono divise in due div diverse con la stessa classe = "greenDiv" ogni div - una casella di testo – Damkulul

+0

Risolto il codice rilevante –

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

Prova questa

<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> 

sotto è Jquery

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

Prova questo:

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

vostro selettore è bene. Quando si utilizza !$(this).val(), si consente agli input di contenere spazi (o qualsiasi altro carattere invisibile). Un input con un singolo spazio non è tecnicamente vuoto. Prova invece a $.trim(something) === ''.

Problemi correlati