Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检查没有IF语句jQuery的多个变量是否为空_Javascript_Jquery - Fatal编程技术网

Javascript 检查没有IF语句jQuery的多个变量是否为空

Javascript 检查没有IF语句jQuery的多个变量是否为空,javascript,jquery,Javascript,Jquery,我试图在我的表单上建立客户端验证,我想知道是否有比我想象的更好的方法 如果一个字段是空的,那么我希望父容器边框变为红色,我可以用一个If语句列表来显示它 // Complete Signup Validation $("#signup-com-btn").click(function() { var a = $("input.first_name").val(); var b = $("input.surname").val(); var c = $("input.em

我试图在我的表单上建立客户端验证,我想知道是否有比我想象的更好的方法

如果一个字段是空的,那么我希望父容器边框变为红色,我可以用一个If语句列表来显示它

// Complete Signup Validation
$("#signup-com-btn").click(function() {

    var a = $("input.first_name").val();
    var b = $("input.surname").val();
    var c = $("input.email_addr").val();
    var d = $("input.user_age").val();
    var e = $("select.user_type").val();
    var f = $(".profile_image").val();

    if(a==''){
        $(this).parent().css...
        return false;
    }
    if(b==''){
        $(this).parent().css...
        return false;
    }       

...and so on...

});

您可以创建一个数组并模拟foreach循环。下面是一个Javascript示例:

function check_empty(){
    var a = document.getElementById('a')
    var b = document.getElementById('b')
    var c = document.getElementById('c')

    var abc = new Array(a, b, c);

    for(i=0; i<abc.length; i++){
        //do your if stuff here...
    }
函数检查_empty(){
var a=document.getElementById('a')
var b=document.getElementById('b')
var c=document.getElementById('c')
var abc=新数组(a、b、c);

对于(i=0;i,您可以创建一个数组并模拟foreach循环。下面是一个Javascript示例:

function check_empty(){
    var a = document.getElementById('a')
    var b = document.getElementById('b')
    var c = document.getElementById('c')

    var abc = new Array(a, b, c);

    for(i=0; i<abc.length; i++){
        //do your if stuff here...
    }
函数检查_empty(){
var a=document.getElementById('a')
var b=document.getElementById('b')
var c=document.getElementById('c')
var abc=新数组(a、b、c);

对于(i=0;i将同一类应用于所有

var valid = true;
$('.className').each(function(){
  if($(this).val() == ""){
   $(this).parent()....  
     valid = false;
  }  
});
 return valid ;

在单击函数中写入此命令

将同一类应用于所有

var valid = true;
$('.className').each(function(){
  if($(this).val() == ""){
   $(this).parent()....  
     valid = false;
  }  
});
 return valid ;

在点击功能中写下这句话,你可以在一个循环中完成它们,如果它真的是全部的话:

$('#signup-com-btn').click(function() {
    var valid = true; // optimist

    $('input, select, .profile_image').each(function() {
        if($(this).val() == '') {
            valid = false;
            $(this).css('border', '1px solid red');
        }
    }

    if(!valid)
        return false;
}

您可以在一个循环中完成所有操作,如果它确实是所有操作的话:

$('#signup-com-btn').click(function() {
    var valid = true; // optimist

    $('input, select, .profile_image').each(function() {
        if($(this).val() == '') {
            valid = false;
            $(this).css('border', '1px solid red');
        }
    }

    if(!valid)
        return false;
}
我建议:

$('input, select, .profile_image').filter(function(){
    return !$(this).val().length;
}).parent().css('border-color', '#f00');
虽然我更喜欢使用类,但为了识别相关项并设置父元素的样式,而不是手动修改CSS规则,我会给出:

$('.inputClassName').filter(function(){
    return !$(this).val().length;
}).parent().addClass('redBorder');
我建议:

$('input, select, .profile_image').filter(function(){
    return !$(this).val().length;
}).parent().css('border-color', '#f00');
虽然我更喜欢使用类,但为了识别相关项并设置父元素的样式,而不是手动修改CSS规则,我会给出:

$('.inputClassName').filter(function(){
    return !$(this).val().length;
}).parent().addClass('redBorder');

由于您使用的是jquery,jquery验证是一个很好的选项,它涵盖了大多数表单验证需求


由于您使用的是jquery,jquery验证是一个很好的选项,可以满足您的大多数表单验证需求


我想到的一件事是OR?| |我本来打算使用OR运算符,但后来我不知道要将错误样式添加到哪个输入父项上?啊,我误解了,因为某种原因,我在它们周围设想了一个大边框,下面给出了一些很好的答案。我想到的一件事是OR?| |我本来打算使用OR运算符,但后来我不知道要将错误样式添加到哪个输入父级?啊,我误解了,我设想了一个大边框,因为某些原因,下面是一些很好的答案。值不是select或img元素的有效属性。至于
select
元素,这是真的(已编辑);至于
.profile\u image
元素?我不知道那是什么类型的元素(我假设它是一个文件-
输入,但它纯粹是一个猜测)。我也不知道,但我猜它是一个img元素。value不是select或img元素的有效属性。至于
select
元素,这是正确的(已编辑);至于
.profile\u image
元素?我不知道那是什么类型的元素(我假设它是一个文件-
输入,但这纯粹是猜测)。我也不知道,但我猜这是一个img元素。这就是我要建议的。jQuery非常倾向于操作一个已经表达了关系的文档,所以用一个公共类来处理它们不仅更容易,而且是一个更好的实践。您的类名可以是.required之类的,您会的在验证框架上可以看到这种模式,因为它允许您只需添加类而不更改验证代码,就可以根据需要声明输入。这就是我要建议的。jQuery非常倾向于操作已经表达了关系的文档,因此使用公共类来处理它们并不是唯一的您的类名可以是.required,您将在验证框架上看到这种模式,因为它允许您仅通过添加类而不更改验证代码来声明所需的输入。