Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.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验证如果选择了无线电,则需要进行下拉_Javascript_Jquery_Html - Fatal编程技术网

javascript验证如果选择了无线电,则需要进行下拉

javascript验证如果选择了无线电,则需要进行下拉,javascript,jquery,html,Javascript,Jquery,Html,我有一个无线电领域在我的形式,有3个元素。颜色、袖子、尺寸 根据收音机选择,我显示/隐藏3个选择框。 选择-颜色类型红色、蓝色、绿色等 选择-袖型全袖、半袖、无袖 选择-尺寸类型小型、中型、大型、特大型 如果选择了一个相关的收音机,如何使选择字段成为必填字段 示例:如果选择了“彩色收音机”,则下拉颜色类型为必填字段;否则,如果选择了“收音机套筒”,则下拉套筒类型为必填字段,依此类推 <script type="text/javascript"> function showLay

我有一个无线电领域在我的形式,有3个元素。颜色、袖子、尺寸

根据收音机选择,我显示/隐藏3个选择框。 选择-颜色类型红色、蓝色、绿色等 选择-袖型全袖、半袖、无袖 选择-尺寸类型小型、中型、大型、特大型 如果选择了一个相关的收音机,如何使选择字段成为必填字段 示例:如果选择了“彩色收音机”,则下拉颜色类型为必填字段;否则,如果选择了“收音机套筒”,则下拉套筒类型为必填字段,依此类推

 <script type="text/javascript">
  function showLayer(layerName)
  {
    document.getElementById(layerName).style.display="block";
  }
  function hideLayer(layerName)
  {

  document.getElementById(layerName).style.display="none";
  }
</script>

<form method="post" action="" name="rregister" id="rregister">

    <div>
      <label><input type="radio"  name="ctype" id="color" value="color" onclick="showLayer('hlayer1'); hideLayer('hlayer2'); hideLayer('hlayer3');" required>Color</label>
      <label><input type="radio" name="ctype" id="sleeve" value="sleeve" onclick="showLayer('hlayer2'); hideLayer('hlayer1'); hideLayer('hlayer3');">Sleeve</label>
      <label><input type="radio" name="ctype" id="size" value="size" onclick="showLayer('hlayer3'); hideLayer('hlayer2'); hideLayer('hlayer1');">Size</label>
    </div>

    <div id="hlayer1" style="display: none;">
      <select id="colortype" name="colortype">
        <option value="" selected="selected">Color</option>
        <option value="red">red</option>
        <option value="blue">blue</option>
        <option value="green">green</option>
        <option value="yellow">yellow</option>
      </select>
    </div>

    <div id="hlayer2" style="display: none;">
      <select id="sleevetype" name="sleevetype">
        <option value="" selected="selected">Sleeve </option>
        <option value="Half">Half</option>
        <option value="Full">Full</option>
        <option value="Sleeveless">Sleeveless</option>
      </select>
    </div>

    <div id="hlayer3" style="display: none;">
      <select id="sizetype" name="sizetype">
        <option value="" selected="selected">Size</option>
        <option value="S">Small</option>
        <option value="M">Medium</option>
        <option value="L">Large</option>
        <option value="XL">Xtra Large</option>
      </select>
    </div>

    <div>
      <input type="submit" name="submit"  id="submit" value="Submit" />
    </div>
</form>


功能显示层(层名称)
{
document.getElementById(layerName.style.display=“block”;
}
函数隐藏层(层名称)
{
document.getElementById(layerName.style.display=“无”;
}
颜色
袖子
大小
颜色
红色
蓝色
绿色
黄色的
袖子
一半
满满的
无袖
大小
小的
中等
大的
Xtra大型

有几种方法可以实现这一点。您可以获取正在设置
样式的div的直接子级。显示
属性并根据需要设置该子级。目前第一个子项是您的
选择
输入,请记住,如果您决定添加更多元素,这可能会在将来造成麻烦

如果您想要一种更健壮的方法,我将向表示要设置为必需的选择字段ID的
showLayer()
hideLayer()
函数添加另一个参数,并直接获取这些元素

工作示例:

函数显示层(layerName,myField)
{
document.getElementById(layerName.style.display=“block”;
//根据需要设置适当的字段
document.getElementById(myField).required=true;
}
函数隐藏层(layerName,myField)
{
document.getElementById(layerName.style.display=“无”;
//将字段设置为非必需字段
document.getElementById(myField).required=false;
}

颜色
袖子
大小
颜色
红色
蓝色
绿色
黄色的
袖子
一半
满满的
无袖
大小
小的
中等
大的
Xtra大型

请共享您的代码请添加您的代码我已经添加了表单代码@daddygames请查看代码@Andrew Daly