是否有任何方法可以使用javascript仅验证表单中已启用的字段?

是否有任何方法可以使用javascript仅验证表单中已启用的字段?,javascript,html,Javascript,Html,我只是对表单中的字段进行简单的IP验证。根据我目前的逻辑,有12个这样的字段正在进行验证。现在我只想验证那些已启用的字段,而忽略对已禁用字段的验证。 注意:我正在根据逻辑禁用字段,并且没有在html中为这些字段设置disabled属性。 Function EnableDisableDropDown正在禁用控制器B部件。我不希望在控制器B的字段上执行验证 JS部分 const ipformat = /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]

我只是对表单中的字段进行简单的IP验证。根据我目前的逻辑,有12个这样的字段正在进行验证。现在我只想验证那些已启用的字段,而忽略对已禁用字段的验证。 注意:我正在根据逻辑禁用字段,并且没有在html中为这些字段设置disabled属性。 Function EnableDisableDropDown正在禁用控制器B部件。我不希望在控制器B的字段上执行验证

JS部分

const ipformat = /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/;
    for (let i = 0; i < 4; i++) {


    if (ipformat.test(mcIps[i].value)== false) {
        return dialog('Invalid MC_IP Address');
    }
    else if (ipformat.test(mcNetmasks[i].value)== false){
        return dialog('Invalid MC_Netmask Address');
    }
    else if (ipformat.test(mcGateways[i].value)== false){
        return dialog('Invalid MC_Gateway Address');
    }  
    }



function EnableDisableDropDown(abc) {
    var selectedValue = abc.options[abc.selectedIndex].value;
    var elems=document.querySelectorAll(".mc_ip,.Netmask_IP,.Gateway_IP,.RBOD_MC,.RBOD_SC,.RBOD_EC,.RBOD_FU,.ISCSI_IP,.CONTROLLER_ID");
    for(i=8; i<16; i++){
    //elems.disabled = selectedValue == '2' ? false : true;
    elems[i].disabled = selectedValue == '2' ? false : true;
} 
    for(i=24; i<32; i++){
    //elems.disabled = selectedValue == '2' ? false : true;
    elems[i].disabled = selectedValue == '2' ? false : true;
} 
}

const-ipformat=/^(25[0-5]| 2[0-4][0-9]|[01]?[0-9][0-9]。\(25[0-5]| 2[0-4][0-9]|[01]|[0-9][0-9]。\(25[0-5]| 2[0-4][0-4][0-9]|[01]|[0-9]。\(25[0-5]2[0-4][0-9]1240-9]。[0-9]/);
for(设i=0;i<4;i++){
if(ipformat.test(mcIps[i].value)==false){
返回对话框(“无效的MC_IP地址”);
}
else if(ipformat.test(mcNetmasks[i].value)==false){
返回对话框(“无效的MC_网络掩码地址”);
}
else if(ipformat.test(mcGateways[i].value)==false){
返回对话框(“无效的MC_网关地址”);
}  
}
功能启用禁用下拉列表(abc){
var selectedValue=abc.options[abc.selectedIndex].value;
var elems=document.queryselectoral(.mc_ip、.Netmask_ip、.Gateway_ip、.RBOD_mc、.RBOD_SC、.RBOD_EC、.RBOD_FU、.ISCSI_ip、.CONTROLLER_ID));
对于(i=8;i
SC:
傅:
欧共体:


控制器B所需的其他详细信息 控制器ID: -选择控制器ID- B iSCSI IP: HBA_端口: MC_IP: MC_网络掩码: MC_网关: 司仪: SC: 傅: 欧共体:
验证的代码在哪里,并且
if
不能有返回语句,除非它在函数中。我正在使用if语句本身进行验证。我没有使用任何函数,因为我不确定如何实现一个函数来仅验证启用字段的IP。使用if条件检查特定字段是否有返回语句是否为ipformat。此外,我正在使用querySelectorAll访问元素,这就是为什么要通过索引引用元素。您能建议我如何实现这一点吗?验证代码在哪里?如果
if
不能有返回语句,除非它在函数中我正在使用if语句本身进行验证。我没有使用任何函数n as不确定如何实现只验证已启用字段的IP的功能。使用if条件我检查特定字段是否具有ipformat。此外,我使用querySelectorAll访问通过索引引用的元素。您能建议我如何实现这一点吗?
<div id="extra" style="display:hidden;">

<h6>Additional Details Required for Controller A</h6>
  <label for='Controller_ID1'>Controller_ID:</label>
  <select class="CONTROLLER_ID" id='Controller_ID1' required>
    <option value=""> - Select the Controller ID - </option>
    <option value='A'>A </select>
  <label for='iSCSI1'>iSCSI IPs:</label><input class="iSCSI_IP" type='text' name='iSCSIip1' id="ip1" placeholder='Enter iSCSI ips' disabled="disabled" />
  <label for='HBA_Ports_A'>HBA_Ports:</label><input class="hba_ports" type='text' id="hba" name='hba_ports1' placeholder='Enter the HBA Ports' disabled="disabled" />
  <label for='MC_IP_A'>MC_IP:</label><input class="mc_ip" type='text' name='extra_ip1' id='mc_ip' placeholder='Enter the MC_IP'  />
  <label for='MC_Netmask_A'>MC_Netmask:</label><input class="Netmask_IP" type='text' id='netmask_ip1' placeholder='Enter the MC_Netmask' />
  <label for='MC_Gateway_A'>MC_Gateway:</label><input class="Gateway_IP" type='text' id='gateway_ip1' placeholder='Enter the MC_Gateway'  />
  <label for='MC_A'>MC:</label><input class="RBOD_MC" type='text' id='rbod_mc1' placeholder='Enter the MC Port' onkeypress="return (event.charCode > 64 && 
                event.charCode < 91) || (event.charCode > 96 && event.charCode < 123)" />
  <label for='SC_A'>SC:</label><input class="RBOD_SC" type='text' id='rbod_sc1' placeholder='Enter the SC Port' onkeypress="return (event.charCode > 64 && 
                event.charCode < 91) || (event.charCode > 96 && event.charCode < 123)" />
  <label for='FU_A'>FU:</label><input class="RBOD_FU" type='text' id='rbod_fu1' placeholder='Enter the FU Port' onkeypress="return (event.charCode > 64 && 
                event.charCode < 91) || (event.charCode > 96 && event.charCode < 123)" />
  <label for='EC_A'>EC:</label><input class="RBOD_EC" type='text' id='rbod_ec1' placeholder='Enter the EC Port' onkeypress="return (event.charCode > 64 && 
                event.charCode < 91) || (event.charCode > 96 && event.charCode < 123)" />
  <br>
  <br>
  <h6>Additional Details Required for Controller B</h6>
  <label for='Controller_ID'>Controller_ID:</label>
  <select class="CONTROLLER_ID" id='Controller_ID' required>
    <option value=""> - Select the Controller ID - </option>
    <option value='B'>B </select>
  <label for='iSCSI2'>iSCSI IPs:</label><input class="iSCSI_IP" type='text' name='iSCSIip2' id="ip2" placeholder='Enter iSCSI ips' disabled="disabled" />
  <label for='HBA_Ports'>HBA_Ports:</label><input class="hba_ports" type='text' id="hba1"  placeholder='Enter the HBA Ports' disabled="disabled" />
  <label for='MC_IP'>MC_IP:</label><input class="mc_ip" type='text'  id='mcip' name='extra_ip' placeholder='Enter the MC_IP'  />
  <label for='MC_Netmask'>MC_Netmask:</label><input class="Netmask_IP" type='text'  id="netmaskip" placeholder='Enter the MC_Netmask' />
  <label for='MC_Gateway'>MC_Gateway:</label><input class="Gateway_IP" type='text'  id="gatewayip" placeholder='Enter the MC_Gateway' />
  <label for='MC'>MC:</label><input class="RBOD_MC" type='text' name='rbod_mc' placeholder='Enter the MC Port' id="rbodmc" onkeypress="return (event.charCode > 64 && 
                event.charCode < 91) || (event.charCode > 96 && event.charCode < 123)" />
  <label for='SC'>SC:</label><input class="RBOD_SC" type='text' name='rbod_sc' placeholder='Enter the SC Port' id="rbodsc" onkeypress="return (event.charCode > 64 && 
                event.charCode < 91) || (event.charCode > 96 && event.charCode < 123)" />
  <label for='FU'>FU:</label><input class="RBOD_FU" type='text' name='rbod_fu' placeholder='Enter the FU Port' id="rbodfu" onkeypress="return (event.charCode > 64 && 
                event.charCode < 91) || (event.charCode > 96 && event.charCode < 123)" />
  <label for='EC'>EC:</label><input class="RBOD_EC" type='text' name='rbod_ec' placeholder='Enter the EC Port' id="rbodec" onkeypress="return (event.charCode > 64 && 
                event.charCode < 91) || (event.charCode > 96 && event.charCode < 123)" />

</div>