<!-- VM Network Settings Copyright (C) 2010-2015 Ian Moore (imoore76 at yahoo dot com) $Id: settingsNetwork.html 597 2015-04-20 11:41:28Z imoore76 $ --> <div id='vboxSettingsTabNetAdapter' title='Adapter' style='display: none'> <table class='vboxVertical'> <tr> <td colspan='2'><label><input name='vboxSettingsNetEnabled' class='vboxCheckbox vboxEnablerCheckbox' type='checkbox' /> <span class='translate'>Enable Network Adapter</span></label></td> </tr> <tr> <th style='min-width: 120px'><span class='translate'>Attached to:</span></th> <td style='width: 100%' class='vboxEnablerTrigger'> <select name='vboxSettingsNetAttachedTo' onchange='vboxSettingsUpdateNetworkOptions(this);' style='width: 100%'> <option value='Null' class='translate'>Not attached</option> <option value='NAT' class='translate'>NAT</option> <option value='NATNetwork' class='translate'>NAT Network</option> <option value='Bridged' class='translate'>Bridged Adapter</option> <option value='Internal' class='translate'>Internal Network</option> <option value='HostOnly' class='translate'>Host-only Adapter</option> <option value='Generic' class='translate'>Generic Driver</option> <option value='VDE' class='translate'>VDE Adapter</option> </select> </td> </tr> <tr> <th class='vboxSettingsNetAdapterNamedLabel'><span class='translate'>Name:</span></th> <td> <select name='vboxSettingsNetName' class='vboxSettingsNetAdapterNamed' style='width: 100%'> <option value=''></option> </select> </td> </tr> <!-- Advanced NAT Settings --> <tr class='vboxSettingsAdvancedNat' style='display: none'> <th><span class='translate'>NAT Alias Mode:</span></th> <td> <label><input type='checkbox' class='vboxCheckbox' class='vboxEnablerListen' name='vboxSettingsNetAliasModeProxyOnly' /> <span class='translate vboxEnablerListen'>Proxy Only</span></label><br /> <label><input type='checkbox' class='vboxCheckbox' class='vboxEnablerListen' name='vboxSettingsNetAliasModeSamePorts' /> <span class='translate vboxEnablerListen'>Same Ports</span></label><br /> </td> </tr> <tr class='vboxSettingsAdvancedNat' style='display: none'> <th><span class='translate'>Advanced NAT Options</span> :</th> <td> <label><input type='checkbox' class='vboxCheckbox' class='vboxEnablerListen' name='vboxSettingsNetPassDNSDomain' /> <span class='translate vboxEnablerListen'>Pass DNS Domain</span></label><br /> <label><input type='checkbox' class='vboxCheckbox' class='vboxEnablerListen' name='vboxSettingsNetDNSProxy' /> <span class='translate vboxEnablerListen'>DNS Proxy</span></label><br /> <label><input type='checkbox' class='vboxCheckbox' class='vboxEnablerListen' name='vboxSettingsNetUseHostResolver' /> <span class='translate vboxEnablerListen'>Use Host Resolver</span></label><br /> <span class='translate vboxEnablerListen'>Bind to IP</span> <input type='text' class='vboxTextbox' class='vboxEnablerListen' name='vboxSettingsNetBindIp' size='16'/> </td> </tr> <tr> <th> <input class="netImgAdvanced vboxImgButton" style='background: url(images/rightArrow.png) 3px 2px no-repeat; width: 14px; height: 14px;' type="button" value="" /> <span class='translate'>Advanced</span></th> <td></td> </tr> <tr class='vboxSettingsNetToggleAdvanced' style='display: none'> <th><span class='translate'>Adapter Type:</span></th> <td> <select name='vboxSettingsNetAdapter' style='width: 100%'> </select> </td> </tr> <tr class='vboxSettingsNetToggleAdvanced' style='display: none'> <th><span class='translate'>MAC Address:</span></th> <td style='white-space: nowrap'><input type='text' class='vboxText' style='width: 200px' name='vboxSettingsNetMAC' size='40' /> <input class="vboxSettingsNetMacGen vboxImgButton" style='background: url(images/vbox/refresh_16px.png) 1px 1px no-repeat; width: 18px; height: 18px; vertical-align:bottom' type="button" value="" /> </td> </tr> <tr class='vboxSettingsNetToggleAdvanced vboxSettingsNetPromiscuousMode' style='display: none'> <th class='vboxSettingsNetPromiscuousMode'><span class='translate'>Promiscuous Mode:</span></th> <td> <select class='vboxSettingsNetPromiscuousMode' name='vboxSettingsNetAdapterPromiscuousMode' style='width: 100%'> <option value='Deny'>Deny</option> <option value='AllowNetwork'>Allow VMs</option> <option value='AllowAll'>Allow All</option> </select> </td> </tr> <tr class='vboxSettingsNetToggleAdvanced vboxSettingsNetGenPropsRow' style='display: none'> <th><span class='translate vboxRunningEnabled'>Generic Properties:</span></th> <td style='white-space: nowrap'> <textarea class='vboxRunningEnabled' rows='3' cols='20' name='vboxSettingsNetGenericProps'></textarea> </td> </tr> <tr class='vboxSettingsNetToggleAdvanced' style='display: none'> <th></th> <td><label><input type='checkbox' class='vboxCheckbox' class='vboxEnablerListen' name='vboxSettingsNetConnected' /> <span class='translate vboxEnablerListen'>Cable Connected</span></label></td> </tr> <tr class='vboxSettingsNetToggleAdvanced vboxSettingsNetPFButton' style='display: none'> <th></th> <td><input type='button' class='vboxButton' class='vboxEnablerListen' name='vboxSettingsNetPF' value='Port Forwarding' /></td> </tr> </table> </div> <script type='text/javascript'> /* Translations */ $(document.forms['frmVboxSettings'].vboxSettingsNetAttachedTo).find('option').html(function(i,h){return trans(h,'VBoxGlobal');}); $(document.forms['frmVboxSettings'].vboxSettingsNetAdapterPromiscuousMode).find('option').html(function(i,h){return trans(h,'VBoxGlobal');}); $('#vboxSettingsTabNetAdapter').find(".translate").html(function(i,h){return trans($('<div />').html(h).text(),'UIMachineSettingsNetwork');}).removeClass('translate'); /* * * Setup data for networking options. * */ var vboxSettingsNetAdaptersBridged = new Array(); var vboxSettingsNetAdaptersHostOnly = new Array(); var vboxSettingsNetNetworks = new Array(); /* * Fill Adapter Types */ var nics = $('#vboxSettingsDialog').data('vboxNetworkAdapterTypes'); for(var i = 1; i < nics.length; i++) { // index 0 is 'Null' and not used var opt = new Option(trans(vboxNetworkAdapterType(nics[i]),'VBoxGlobal'),nics[i]); document.forms['frmVboxSettings'].vboxSettingsNetAdapter.options[document.forms['frmVboxSettings'].vboxSettingsNetAdapter.options.length] = opt; } // Shorthand var vboxNetworking = $('#vboxSettingsDialog').data('vboxNetworking'); vboxNetworking.networkInterfaces = $('#vboxSettingsDialog').data('vboxHostDetails').networkInterfaces; for(var i = 0; i < vboxNetworking.networkInterfaces.length; i++) { if(vboxNetworking.networkInterfaces[i].interfaceType == 'Bridged') { vboxSettingsNetAdaptersBridged[vboxSettingsNetAdaptersBridged.length] = vboxNetworking.networkInterfaces[i].name; } else if(vboxNetworking.networkInterfaces[i].interfaceType == 'HostOnly') { vboxSettingsNetAdaptersHostOnly[vboxSettingsNetAdaptersHostOnly.length] = vboxNetworking.networkInterfaces[i].name; } else { vboxAlert('Unknown interface type :' + vboxNetworking.networkInterfaces[i].interfaceType); } } // Check for sub / virtual interfaces. These will not be reported by VirtualBox var vboxGuestNet = $('#vboxSettingsDialog').data('vboxMachineData').networkAdapters; for(var i = 0; i < vboxGuestNet.length; i++) { if(!vboxGuestNet[i].bridgedInterface || vboxGuestNet[i].bridgedInterface == '') continue; if(jQuery.inArray(vboxGuestNet[i].bridgedInterface,vboxSettingsNetAdaptersBridged) < 0) { vboxSettingsNetAdaptersBridged[vboxSettingsNetAdaptersBridged.length] = vboxGuestNet[i].bridgedInterface; } } var vboxSettingsNetTemplate = document.getElementById('vboxSettingsTabNetAdapter'); var vboxSettingsNetContainer = $(vboxSettingsNetTemplate).parent(); /* Network advanced show / hide */ $('#vboxSettingsTabNetAdapter').find('input.netImgAdvanced').click(function(){ if(!$(this).data('toggleClicked')) { $(this).data('toggleClicked', true); $(this).data('vboxAdvancedEnabled',true); $(this).closest('table').find('.vboxSettingsNetToggleAdvanced:not(.vboxForceHide)').css('display',''); $(this).css('background-image','url(images/downArrow.png)'); } else { $(this).data('toggleClicked', false); $(this).data('vboxAdvancedEnabled',false); $(this).closest('table').find('.vboxSettingsNetToggleAdvanced').css('display','none'); $(this).css('background-image','url(images/rightArrow.png)'); } }); /* Mac address generator */ $('#vboxSettingsTabNetAdapter').find('input.vboxSettingsNetMacGen').click(function(){ var t = $(this).siblings('input').first(); var oval = $(t).val(); $(t).val('...').prop('disabled',true); var l = new vboxLoader(); l.add('vboxGenerateMacAddress',function(d){ if(d && d.success) $(t).val(d.responseData); else $(t).val(oval); $(t).prop('disabled',false); }); l.noLoadingScreen = true; l.run(); }); /* Network adapter tab links */ var ul = $('<ul />'); $(vboxSettingsNetContainer).append(ul); for(var i = 0; i < parseInt($('#vboxPane').data('vboxConfig').nicMax); i++) { /* tab */ $(ul).append($('<li />').html('<a href="#' + vboxSettingsNetTemplate.id + (i + 1) +'"><span>' + trans('Adapter %1','VBoxGlobal').replace('%1',(i + 1)) + '</span></a>')); /* tab content */ var newTab = $("#vboxSettingsTabNetAdapter").clone(true); newTab.attr({'id':vboxSettingsNetTemplate.id + (i + 1)}).css({'display':'block'}).find('.vboxEnablerTrigger').on('enable',function(){ $(this).children('select').first().trigger('change'); }); newTab.appendTo(vboxSettingsNetContainer); /* Form elements must be unique */ $("#vboxSettingsTabNetAdapter" + (i + 1)).find('[name]').each(function() { $(this).attr('name',$(this).attr('name') + (i + 1)); }); } /* Remove Template */ $("#vboxSettingsTabNetAdapter").empty().remove(); /* preload network 'advanced' down arrow image */ var netDnAdvImg = new Image(); netDnAdvImg.src = 'images/downArrow.png'; /* * Called when network adpater 'attached to' changes */ function vboxSettingsUpdateNetworkOptions(sel) { var ptable = $(sel).closest('table'); var th = $(ptable).find('th.vboxSettingsNetAdapterNamedLabel').first(); var nsel = $(ptable).find('.vboxSettingsNetAdapterNamed').first(); var advEnabled = ptable.find('input.netImgAdvanced').first().data('vboxAdvancedEnabled'); // Promiscuous mode selection if(sel.value == 'NAT' || sel.value == 'Null' || sel.value == 'Generic') { $(ptable).find('tr.vboxSettingsNetPromiscuousMode').addClass('vboxForceHide').hide(); } else { $(ptable).find('tr.vboxSettingsNetPromiscuousMode').removeClass('vboxForceHide'); if(advEnabled) $(ptable).find('tr.vboxSettingsNetPromiscuousMode').show(); } // Generic properties if(sel.value == 'Generic') { $(ptable).find('tr.vboxSettingsNetGenPropsRow').removeClass('vboxForceHide'); if(advEnabled) $(ptable).find('tr.vboxSettingsNetGenPropsRow').show(); } else { $(ptable).find('tr.vboxSettingsNetGenPropsRow').hide().addClass('vboxForceHide'); } // Port forward button if(sel.value == 'NAT') { $(ptable).find('tr.vboxSettingsNetPFButton').removeClass('vboxForceHide'); if(advEnabled) $(ptable).find('tr.vboxSettingsNetPFButton').show(); } else { $(ptable).find('tr.vboxSettingsNetPFButton').addClass('vboxForceHide').hide(); } // Name box if(sel.value == 'Null' || sel.value == 'NAT') { $(th).addClass('vboxDisabled'); $(nsel).children().remove(); $(nsel).prop('disabled',true); if(sel.value == 'NAT' && $('#vboxPane').data('vboxConfig').enableAdvancedConfig) ptable.find('tr.vboxSettingsAdvancedNat').css('display',''); else ptable.find('tr.vboxSettingsAdvancedNat').css('display','none'); } else { ptable.find('tr.vboxSettingsAdvancedNat').css('display','none'); $(th).removeClass('vboxDisabled'); $(nsel).children().remove(); $(nsel).prop('disabled',false); // Special case for certian network selects if(sel.value == 'Internal' || sel.value == 'VDE' || sel.value=='Generic' || sel.value=='Bridged' || sel.value=='NATNetwork') { var isel = $(nsel).clone(false); $(nsel).replaceWith(isel); nsel = isel; } var defaultSel = $(sel).data('vboxDefault'); switch(sel.value) { case 'Bridged': src = vboxSettingsNetAdaptersBridged; break; case 'HostOnly': src = vboxSettingsNetAdaptersHostOnly; break; case 'Internal': src = $('#vboxSettingsDialog').data('vboxNetworking').networks; break; case 'Generic': src = $('#vboxSettingsDialog').data('vboxNetworking').genericDrivers; break; case 'NATNetwork': src = $('#vboxSettingsDialog').data('vboxNetworking').natNetworks; break; case 'VDE': src = $('#vboxSettingsDialog').data('vboxNetworking').vdenetworks; break; default: vboxAlert('Unknown network binding type: ' + sel.value); } for(var i = 0; i < src.length; i++) { var hSrc = $('<div />').text(src[i]).html(); $(nsel).append('<option ' + (src[i] == defaultSel ? ' selected ' : '') + ' value="' + hSrc + '">' + hSrc + '</option>'); } } // Special case for Internal, Generic, and VDE network selects if(sel.value == 'Internal' || sel.value == 'VDE' || sel.value == 'Generic' || sel.value == 'Bridged') { $(nsel).jec(); } } /* Change settings onShow() when VM is running */ $('#vboxSettingsDialog').on('dataLoaded',function(){ /* Net values */ var vboxVDEFound = false; // check for VDE attachments for(var i = 0; i < parseInt($('#vboxPane').data('vboxConfig').nicMax); i++) { var a = (i + 1); // attached to $(document.forms['frmVboxSettings'].elements['vboxSettingsNetAttachedTo'+a]).val($('#vboxSettingsDialog').data('vboxMachineData').networkAdapters[i].attachmentType).trigger('change'); $(document.forms['frmVboxSettings'].elements['vboxSettingsNetAttachedTo'+a].options[document.forms['frmVboxSettings'].elements['vboxSettingsNetAttachedTo'+a].selectedIndex]).attr('selected','selected'); $(document.forms['frmVboxSettings'].elements['vboxSettingsNetAttachedTo'+a]).change(); // Device or network name, depending on what 'attached to' is var netName = ''; switch($('#vboxSettingsDialog').data('vboxMachineData').networkAdapters[i].attachmentType) { case 'Bridged': netName = $('#vboxSettingsDialog').data('vboxMachineData').networkAdapters[i].bridgedInterface; break; case 'HostOnly': netName = $('#vboxSettingsDialog').data('vboxMachineData').networkAdapters[i].hostOnlyInterface; break; case 'Internal': netName = $('#vboxSettingsDialog').data('vboxMachineData').networkAdapters[i].internalNetwork; break; case 'Generic': netName = $('#vboxSettingsDialog').data('vboxMachineData').networkAdapters[i].genericDriver; break; case 'NATNetwork': netName = $('#vboxSettingsDialog').data('vboxMachineData').networkAdapters[i].NATNetwork; break; case 'VDE': netName = $('#vboxSettingsDialog').data('vboxMachineData').networkAdapters[i].VDENetwork; vboxVDEFound = true; break; } // hold default value $(document.forms['frmVboxSettings'].elements['vboxSettingsNetAttachedTo'+a]).data('vboxDefault', netName); document.forms['frmVboxSettings'].elements['vboxSettingsNetName'+a].value = netName; document.forms['frmVboxSettings'].elements['vboxSettingsNetAdapter'+a].value = $('#vboxSettingsDialog').data('vboxMachineData').networkAdapters[i].adapterType; document.forms['frmVboxSettings'].elements['vboxSettingsNetMAC'+a].value = $('#vboxSettingsDialog').data('vboxMachineData').networkAdapters[i].MACAddress; document.forms['frmVboxSettings'].elements['vboxSettingsNetConnected'+a].checked = ($('#vboxSettingsDialog').data('vboxMachineData').networkAdapters[i].cableConnected ? true : false); $(document.forms['frmVboxSettings'].elements['vboxSettingsNetAdapterPromiscuousMode'+a]).val($('#vboxSettingsDialog').data('vboxMachineData').networkAdapters[i].promiscModePolicy); document.forms['frmVboxSettings'].elements['vboxSettingsNetGenericProps'+a].innerHTML = $('#vboxSettingsDialog').data('vboxMachineData').networkAdapters[i].properties; // Enabled adapter $(document.forms['frmVboxSettings'].elements['vboxSettingsNetEnabled'+a]).prop('checked',$('#vboxSettingsDialog').data('vboxMachineData').networkAdapters[i].enabled).triggerHandler('click');; $(document.forms['frmVboxSettings'].elements['vboxSettingsNetPF'+a]).unbind('click'); $(document.forms['frmVboxSettings'].elements['vboxSettingsNetPF'+a]).click(function(){ var nicIndex = (parseInt($(this).attr('name').substr(17))-1); $.when(vboxPortForwardConfigDialog($('#vboxSettingsDialog').data('vboxMachineData').networkAdapters[nicIndex].redirects)) .done(function(rules){ for(var i = 0; i < rules.length; i++) { rules[i] = rules[i].join(','); } $('#vboxSettingsDialog').data('vboxMachineData').networkAdapters[nicIndex].redirects = rules; }); }).val(trans('Port Forwarding','UIMachineSettingsNetwork')); // Set Nat values if($('#vboxPane').data('vboxConfig').enableAdvancedConfig) { document.forms['frmVboxSettings'].elements['vboxSettingsNetAliasModeProxyOnly'+a].checked = (($('#vboxSettingsDialog').data('vboxMachineData').networkAdapters[i].NATEngine.aliasMode & 2) ? true : false); document.forms['frmVboxSettings'].elements['vboxSettingsNetAliasModeSamePorts'+a].checked = (($('#vboxSettingsDialog').data('vboxMachineData').networkAdapters[i].NATEngine.aliasMode & 4) ? true : false); document.forms['frmVboxSettings'].elements['vboxSettingsNetPassDNSDomain'+a].checked = ($('#vboxSettingsDialog').data('vboxMachineData').networkAdapters[i].NATEngine.DNSPassDomain ? true : false); document.forms['frmVboxSettings'].elements['vboxSettingsNetDNSProxy'+a].checked = ($('#vboxSettingsDialog').data('vboxMachineData').networkAdapters[i].NATEngine.DNSProxy ? true : false); document.forms['frmVboxSettings'].elements['vboxSettingsNetUseHostResolver'+a].checked = ($('#vboxSettingsDialog').data('vboxMachineData').networkAdapters[i].NATEngine.DNSUseHostResolver ? true : false); $(document.forms['frmVboxSettings'].elements['vboxSettingsNetBindIp'+a]).val($('#vboxSettingsDialog').data('vboxMachineData').networkAdapters[i].NATEngine.hostIP); } } /* Disable VDE selection? */ if(!vboxVDEFound && !$('#vboxPane').data('vboxConfig').enableVDE) { for(var i = 0; i < parseInt($('#vboxPane').data('vboxConfig').nicMax); i++) { $(document.forms['frmVboxSettings'].elements['vboxSettingsNetAttachedTo'+(i+1)]).children("[value='VDE']").remove(); } } if(!$('#vboxSettingsDialog').data('vboxFullEdit')) { for(var i = 0; i < parseInt($('#vboxPane').data('vboxConfig').nicMax); i++) { var a = (i + 1); /* Disable these inputs */ document.forms['frmVboxSettings'].elements['vboxSettingsNetEnabled'+a].disabled ='disabled'; document.forms['frmVboxSettings'].elements['vboxSettingsNetAdapter'+a].disabled ='disabled'; document.forms['frmVboxSettings'].elements['vboxSettingsNetMAC'+a].disabled ='disabled'; $(document.forms['frmVboxSettings'].elements['vboxSettingsNetMAC'+a]).siblings('input').css('display','none'); /* Disable these labels */ $(document.forms['frmVboxSettings'].elements['vboxSettingsNetEnabled'+a]).closest('tr').children().addClass('vboxDisabled'); $(document.forms['frmVboxSettings'].elements['vboxSettingsNetAdapter'+a]).closest('tr').children().addClass('vboxDisabled'); $(document.forms['frmVboxSettings'].elements['vboxSettingsNetMAC'+a]).closest('tr').children().addClass('vboxDisabled'); } // Expand all advanced settings $('#vboxSettingsDialog').find('input.netImgAdvanced').each(function(){ if(!$(this).data('vboxAdvancedEnabled')) $(this).trigger('click'); }); // Disable mac address generation $('#vboxSettingsDialog').find('input.vboxSettingsNetMacGen').prop('disabled',true); } else { for(var i = 0; i < parseInt($('#vboxPane').data('vboxConfig').nicMax); i++) { var a = (i + 1); /* Enable these inputs */ document.forms['frmVboxSettings'].elements['vboxSettingsNetEnabled'+a].disabled =''; document.forms['frmVboxSettings'].elements['vboxSettingsNetAdapter'+a].disabled =''; document.forms['frmVboxSettings'].elements['vboxSettingsNetMAC'+a].disabled =''; $(document.forms['frmVboxSettings'].elements['vboxSettingsNetMAC'+a]).siblings('input').css('display',''); /* Enable these labels */ $(document.forms['frmVboxSettings'].elements['vboxSettingsNetEnabled'+a]).closest('tr').children().removeClass('vboxDisabled'); $(document.forms['frmVboxSettings'].elements['vboxSettingsNetAdapter'+a]).closest('tr').children().removeClass('vboxDisabled'); $(document.forms['frmVboxSettings'].elements['vboxSettingsNetMAC'+a]).closest('tr').children().removeClass('vboxDisabled'); } // Enable mac address generation $('#vboxSettingsDialog').find('input.vboxSettingsNetMacGen').prop('disabled',false); } /* Change settings onSave() */ }).on('save',function(){ /* Net */ for(var i = 0; i < parseInt($('#vboxPane').data('vboxConfig').nicMax); i++) { var a = (i + 1); // attached to $('#vboxSettingsDialog').data('vboxMachineData').networkAdapters[i].attachmentType = document.forms['frmVboxSettings'].elements['vboxSettingsNetAttachedTo'+a].value; // Device or network name, depending on what 'attached to' is switch($('#vboxSettingsDialog').data('vboxMachineData').networkAdapters[i].attachmentType) { case 'Bridged': $('#vboxSettingsDialog').data('vboxMachineData').networkAdapters[i].bridgedInterface = document.forms['frmVboxSettings'].elements['vboxSettingsNetName'+a].value;; case 'HostOnly': $('#vboxSettingsDialog').data('vboxMachineData').networkAdapters[i].hostOnlyInterface = document.forms['frmVboxSettings'].elements['vboxSettingsNetName'+a].value;; break; case 'Generic': $('#vboxSettingsDialog').data('vboxMachineData').networkAdapters[i].genericDriver = document.forms['frmVboxSettings'].elements['vboxSettingsNetName'+a].value; break; case 'Internal': $('#vboxSettingsDialog').data('vboxMachineData').networkAdapters[i].internalNetwork = document.forms['frmVboxSettings'].elements['vboxSettingsNetName'+a].value; break; case 'NATNetwork': $('#vboxSettingsDialog').data('vboxMachineData').networkAdapters[i].NATNetwork = document.forms['frmVboxSettings'].elements['vboxSettingsNetName'+a].value; break; case 'VDE': $('#vboxSettingsDialog').data('vboxMachineData').networkAdapters[i].VDENetwork = document.forms['frmVboxSettings'].elements['vboxSettingsNetName'+a].value; break; } // Set Nat values if($('#vboxPane').data('vboxConfig').enableAdvancedConfig) { var aliasMode = $('#vboxSettingsDialog').data('vboxMachineData').networkAdapters[i].NATEngine.aliasMode & 1; if(document.forms['frmVboxSettings'].elements['vboxSettingsNetAliasModeProxyOnly'+a].checked) { aliasMode |= 2; } if(document.forms['frmVboxSettings'].elements['vboxSettingsNetAliasModeSamePorts'+a].checked) { aliasMode |= 4; } $('#vboxSettingsDialog').data('vboxMachineData').networkAdapters[i].NATEngine.aliasMode = aliasMode; $('#vboxSettingsDialog').data('vboxMachineData').networkAdapters[i].NATEngine.DNSPassDomain = document.forms['frmVboxSettings'].elements['vboxSettingsNetPassDNSDomain'+a].checked; $('#vboxSettingsDialog').data('vboxMachineData').networkAdapters[i].NATEngine.DNSProxy = document.forms['frmVboxSettings'].elements['vboxSettingsNetDNSProxy'+a].checked; $('#vboxSettingsDialog').data('vboxMachineData').networkAdapters[i].NATEngine.DNSUseHostResolver = document.forms['frmVboxSettings'].elements['vboxSettingsNetUseHostResolver'+a].checked; $('#vboxSettingsDialog').data('vboxMachineData').networkAdapters[i].NATEngine.hostIP = $(document.forms['frmVboxSettings'].elements['vboxSettingsNetBindIp'+a]).val(); } $('#vboxSettingsDialog').data('vboxMachineData').networkAdapters[i].properties = $(document.forms['frmVboxSettings'].elements['vboxSettingsNetGenericProps'+a]).val(); $('#vboxSettingsDialog').data('vboxMachineData').networkAdapters[i].promiscModePolicy = $(document.forms['frmVboxSettings'].elements['vboxSettingsNetAdapterPromiscuousMode'+a]).val(); $('#vboxSettingsDialog').data('vboxMachineData').networkAdapters[i].adapterType = document.forms['frmVboxSettings'].elements['vboxSettingsNetAdapter'+a].value; $('#vboxSettingsDialog').data('vboxMachineData').networkAdapters[i].MACAddress = document.forms['frmVboxSettings'].elements['vboxSettingsNetMAC'+a].value; $('#vboxSettingsDialog').data('vboxMachineData').networkAdapters[i].cableConnected = document.forms['frmVboxSettings'].elements['vboxSettingsNetConnected'+a].checked; $('#vboxSettingsDialog').data('vboxMachineData').networkAdapters[i].enabled = document.forms['frmVboxSettings'].elements['vboxSettingsNetEnabled'+a].checked; } }); </script>