diff options
Diffstat (limited to 'usr/local/www/javascript/firewall_nat_edit/firewall_nat_edit.js')
-rw-r--r-- | usr/local/www/javascript/firewall_nat_edit/firewall_nat_edit.js | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/usr/local/www/javascript/firewall_nat_edit/firewall_nat_edit.js b/usr/local/www/javascript/firewall_nat_edit/firewall_nat_edit.js index e75e192..bd88145 100644 --- a/usr/local/www/javascript/firewall_nat_edit/firewall_nat_edit.js +++ b/usr/local/www/javascript/firewall_nat_edit/firewall_nat_edit.js @@ -1,6 +1,7 @@ <!-- var portsenabled = 1; var dstenabled = 1; +var showsource = 0; function ext_change() { if ((document.iform.srcbeginport.selectedIndex == 0) && portsenabled) { @@ -52,12 +53,25 @@ function ext_change() { } } +function nordr_change() { + if (document.iform.nordr.checked) { + document.getElementById("localiptable").style.display = 'none'; + document.getElementById("lprtr").style.display = 'none'; + document.getElementById("assoctable").style.display = 'none'; + } else { + document.getElementById("localiptable").style.display = ''; + document.getElementById("lprtr").style.display = portsenabled ? '' : 'none'; + document.getElementById("assoctable").style.display = ''; + } +} + function show_source() { if(portsenabled) document.getElementById("sprtable").style.display = ''; document.getElementById("srctable").style.display = ''; document.getElementById("showadvancedboxsrc").style.display = 'none'; + showsource = 1; } function check_for_aliases() { @@ -110,16 +124,16 @@ function check_for_aliases() { } function proto_change() { - if (document.iform.proto.selectedIndex < 3) { + if (document.iform.proto.selectedIndex >= 0 && document.iform.proto.selectedIndex <= 2) { portsenabled = 1; } else { portsenabled = 0; } - if(document.iform.proto.selectedIndex >= 0 && document.iform.proto.selectedIndex <= 2) { - document.getElementById("sprtable").style.display = portsenabled == 1 ? '':'none'; + if (portsenabled) { + document.getElementById("sprtable").style.display = showsource == 1 ? '':'none'; document.getElementById("dprtr").style.display = ''; - document.getElementById("lprtr").style.display = ''; + document.getElementById("lprtr").style.display = document.iform.nordr.checked ? 'none' : ''; } else { document.getElementById("sprtable").style.display = 'none'; document.getElementById("dprtr").style.display = 'none'; |