我想检查必填字段是否为空。 我使用下面的代码。
$(":input").each(function() {
if($(this).data('label')=='required')
{
if($(this).val() === "")
alert("Empty Fields!!");
}
});
但它不止一次警觉。 的jsfiddle: http://jsfiddle.net/hbk2a5qo/3/
答案 0 :(得分:1)
为什么不在HTML中直接使用<input id="name"type="text" data-label="required" required/>
属性:
<div id="container">
<div>
答案 1 :(得分:1)
您需要使用标志
$(document).ready(function () {
$("#submit").click(function (e) {
e.preventDefault()
AlertSave();
});
});
function AlertSave() {
//use the flag to set the valid status in the loop
var valid = true;
//iterate over only the required elements
$(':input[data-label="required"]').each(function () {
if ($(this).val() === "") {
valid = false;
return false;
}
});
if (valid) {
//do your save
} else {
alert("Empty Fields!!");
}
}
演示:Fiddle
答案 2 :(得分:0)
正如您使用$(":input").each()
所以它将遍历所有字段。但是你可以使用flag只显示一次警报。
function AlertSave() {
var alertShown=false;
$(":input").each(function() {
if($(this).data('label')=='required')
{
if($(this).val() === "" && !alertShown)
{
alertShown=true;
alert("Empty Fields!!");
}
}
});
}
答案 3 :(得分:0)
通过使用required
属性(建议使用),这将返回没有value
的所有必需输入字段:
var inputsWithMissingValues = $('input[required]').filter(function(i, input) {
return !input.value.length;
});
因此,如果长度大于零,那么您需要缺少值的字段。