我有这段代码:
<PlaceHolder>
<div class="greenDiv">
<asp:TextBox ID="a" runat="server" />
</div>
<div class="greenDiv">
<asp:TextBox ID="ab" runat="server" />
</div>
</PlaceHolder>
我需要让用户知道他是否将文本框留空了,我尝试了类似的东西..(不工作)我错过了什么?
$('.greenDiv > input:text').blur(function () {
if (!$(this).val()) {
alert("fill this field");
}
});
答案 0 :(得分:4)
尝试使用input[type=text]
代替
$('.greenDiv>input[type=text]').blur(function () {
if (!$.trim($(this).val())) {
alert("fill this field");
}
});
答案 1 :(得分:3)
$('.greenDiv > input[type=text]').on('blur', function (e) {
if (!$(e.currentTarget).val()) alert('fill this field');
});
答案 2 :(得分:1)
而不是input:text
,您应该使用input[type=text]
$('.greenDiv>input[type=text]').on("blur",function () {
if (!$(this).val()) {
alert("fill this field");
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="greenDiv">
<input type="text">
</div>
<div class="greenDiv">
<input type="text">
</div>
答案 3 :(得分: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");
}
});
答案 4 :(得分:1)
试试这个:
$('.greenDiv > input:text').blur(function () {
if ($.trim($(this).val()) === '') {
alert("fill this field");
}
});
你的选择器很好。当您使用!$(this).val()
时,您允许带有空格(或任何其他不可见字符)的输入通过。具有单个空格的输入在技术上不是空的。请改为$.trim(something) === ''
。