仅在display = none(显示div)时验证输入检查

时间:2019-05-16 19:54:39

标签: javascript forms

按下单选按钮“选项”时,将使用(display:none display:block)方法显示一个div。输入“ Requirements”是必需的,并且在html中有它。问题在于,当按下提交时,即使没有显示div,该表单也需要输入,因为用户尚未选择阻止CSS的单选按钮。仅当用户选择了单选按钮选项时,才应填写该字段。

{
    "$schema" : "https://json-schema.org/schema#",
    "type" : "object",
    "properties" : 
    {
        "messages" :
        {
            "type" : "array",
            "items" : 
            {
                "properties" : 
                {
                    "name" : 
                    {
                        "type" : "string"
                    },
                    "id" : 
                    {
                        "type" : "string"
                    },
                    "signals" : 
                    {
                        "type" : "object"
                    },

                    "properties" :
                    {


                    }
                },
                "required": ["name", "id", "signals"]
            }
        }
    }
}

1 个答案:

答案 0 :(得分:0)

我建议您不要在隐藏input内的div标签时将其禁用。

因此hide函数将是:

function hide() {
   var inputs = document.getElementById('hidden').getElementsByTagName('input');

   for(i = 0; i < inputs.length ; i++)
       inputs[i].disabled = true

   document.getElementById('hidden').style.display ='none';

}

show函数为:

function show() {
   var inputs = document.getElementById('hidden').getElementsByTagName('input');

   for(i = 0; i < inputs.length ; i++)
       inputs[i].disabled = false

   document.getElementById('hidden').style.display ='block';

}

您还可以将这些功能用于showTexthideText