Selectfield per Javascript - einfacher Schreiben



  • Hi,

    mein Javascript funktioniert zwar soweit, allerdings kann man es wahrscheinlich viel eleganter schreiben (kürzer vor allem). Ich möchte mittels des Selectfields die Ip Einstellungen von zwei Netzwerkkarten konfigurieren. Hierzu kann DHCP oder Default-IP ausgewählt werden.

    Für jeglichen Tipp, wie man es einfacher schreiben kann, wäre ich dankbar.

    function ipconfig(value) 
    {
      if(value)
      {
    
       if(document.getElementById("ipOpt2").value=="dhcp")
       {
            document.myform.ip2.disabled = document.myform.sub2.disabled = document.myform.gate2.disabled = true;
       }
       else if(document.getElementById("ipOpt2").value=="dflt-ip")
       {
    
            document.myform.ip2.disabled = document.myform.sub2.disabled = document.myform.gate2.disabled = false;		
       }
    
    } else {
    
       if(document.getElementById("ipOpt1").value=="dhcp")
       {
            document.myform.ip1.disabled = document.myform.sub1.disabled = document.myform.gate1.disabled = true;	
       }
       else if(document.getElementById("ipOpt1").value=="dflt-ip")
       {
    	document.myform.ip1.disabled = document.myform.sub1.disabled = document.myform.gate1.disabled = false;		
        }
    }
    }
    
    <select class="form-select2" id="ipOpt1" name="ipOpt1" onChange="ipconfig(0)">
    <option value="dhcp">DHCP</option>
    <option value="dflt-ip">Dflt-IP</option>
    </select>
    
    <select class="form-select2" id="ipOpt2" name="ipOpt2" onChange="ipconfig(1)">
    <option value="dhcp">DHCP</option>
    <option value="dflt-ip">Dflt-IP</option>
    </select>
    

    Gruß
    Volker



  • eine kleine Vereinfachung hab ich grad hinbekommen mit dem Funktionsparameter this. Gibt es noch eine Möglichkeit die ganzen if-else Sachen zu verkürzen??

    function ipconfig(field) 
    {
      if(field.value=="dhcp")
       {
            document.myform.ip2.disabled = document.myform.sub2.disabled = document.myform.gate2.disabled = true;
       }
       else if(field.value=="dflt-ip")
       {
    
            document.myform.ip2.disabled = document.myform.sub2.disabled = document.myform.gate2.disabled = false;        
       }
    
       else if(field.value=="dhcp")
       {
            document.myform.ip1.disabled = document.myform.sub1.disabled = document.myform.gate1.disabled = true;    
       }
       else if(field.value=="dflt-ip")
       {
        document.myform.ip1.disabled = document.myform.sub1.disabled = document.myform.gate1.disabled = false;        
        }
    }
    
    <select class="form-select2" id="ipOpt1" name="ipOpt1" onChange="ipconfig(this)">
    <option value="dhcp">DHCP</option>
    <option value="dflt-ip">Dflt-IP</option>
    </select>
    

Anmelden zum Antworten