Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.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检查css的状态_Javascript_Html - Fatal编程技术网

如何通过javascript检查css的状态

如何通过javascript检查css的状态,javascript,html,Javascript,Html,我有一个JavaScript文件来验证文本框是否已填写。 我想让它,如果所有的文本框都填写正确,它应该继续到下一页或任何情况下。(就我而言,只是为了显示一个警告消息框。)如果您能尽快回答,我将不胜感激。提前谢谢 HTML <form name="form" onSubmit="return validate()" method="post"> <p> <label class="tittle">Name:</label>

我有一个JavaScript文件来验证文本框是否已填写。 我想让它,如果所有的文本框都填写正确,它应该继续到下一页或任何情况下。(就我而言,只是为了显示一个警告消息框。)如果您能尽快回答,我将不胜感激。提前谢谢

HTML

<form name="form" onSubmit="return validate()" method="post">
    <p>
        <label class="tittle">Name:</label>
        <span>
            <input type="text" name="firstname"
                   placeholder="First Name" class="info"
                   size="25" maxlength="25" 
                   onBlur="return validateFirstName()">
            <label class="fillerror" id="fillFirst">
                 First name is required
        </label>
        </span>

        <span>
            <input type="text" name="lastname"
                   placeholder="Last Name" class="info"
                   size="25" maxlength="25"
                   onBlur="return validateLastName()">
            <label class="fillerror" id="fillLast">
                 Last name is required
        </label>
        </span>
    </p>
    <p>
        <input type="button" name="register"
               value="Register" class="register"
               onClick="return validateFirstName(),
               validateLastName(), allValidated();">
    </p>
</form>
}

这是我需要帮助的函数,这里的所有其他代码只是为了了解最后一句话:

function allValidated()
{

    var allrGood = document.getElementsByClassName("fillerror");

    if (allrGood.style.display="none" == true)
    {
        alert("They're all good");
    }
    else if (allrGood.style.display="block" == true)
    {
        alert("Something is displayed 'block'");
    }
}

如果它不适用于“If”语句,那么它可能适用于“for”或“while”语句(循环语句),然后请告诉我。

首先,我真的建议您开始使用jQuery。这会让事情变得很容易

这是一个纯JS解决方案-

  • 首先将一个特定的类分配给所有需要修改的控件 验证

  • 在控件的onchange事件上,如果控件有效, 添加某个类,比如-
    ctrlValid
    ,否则添加另一个类-
    ctrlInvalid

  • 然后单击按钮,按类名获取所有元素
    ctrlInvalid

  • 检查长度是否为0,如果为-redirect,则显示消息

  • 如果您继续使用您的解决方案-

    var blIsFormValid = true;
    for(var i =0; i < allrGood.length; ++i)
    {
       if(allrGood[i].style.display != 'none')
       {
           blIsFormValid = false;
           break;
       }
    }
    if(blIsFormValid)
    {
       // Redirect check - http://stackoverflow.com/a/4745622/903324
       window.location = "http://www.yoururl.com";
    }
    else 
    {
       // Show message...
    }
    
    var blIsFormValid=true;
    对于(变量i=0;i
    代码的一个问题是
    文档。GetElementsByCassName()
    返回元素数组,而不仅仅是一个元素。所以,
    allrGood.style
    没有什么意义

    另外,
    allrGood.style.display=“none”
    “none”
    分配给
    allrGood.style.display
    ,而不是比较它们。记住使用
    =
    进行松散比较,或使用
    ==
    进行严格比较

    使用jQuery,您可以迭代类
    fillerror
    的每个标签,并检查它是否可见,如下所示:

    function areTheyAllValidated() {
        var valid = true;
        $('label.fillerror').each(function(index, element) {
            if ($(element).is(":visible"))
                valid = false;
        });
        return valid;
    }
    

    你必须在你的警报控件上弹出一个类或ID,这样你就可以给它设置样式了

    像下面这样的事情应该会让你走上正轨。随着另一个钟声和口哨的下垂

    'SuperCool': function() {
       var sName = document.getElementById('ip1').value;
       Alert.SuperCool( "Thank you "+sName+". Could be expanded to do something a little more clever" );
     }
    
    示例警报样式


    这是一个很好的答案,但是我如何做第二个if语句呢?如果(blIsFormValid){//Redirect}@user2356557,则再次更新答案。。for循环的要点是,我们正在获取所有
    fillerror
    div,并检查它们是否显示。如果其中有一个显示出来,那就意味着有一个错误。非常感谢!!终于成功了!!没有你就做不到。
    'SuperCool': function() {
       var sName = document.getElementById('ip1').value;
       Alert.SuperCool( "Thank you "+sName+". Could be expanded to do something a little more clever" );
     }
    
    .SuperCool {
       background: red;
       width: 200px;
       height: 100px;
    }