blob: a41865c8a0ee5399a7674d020dcdfc154484ec67 [file] [log] [blame]
b.liue9582032025-04-17 19:18:16 +08001(function ($) {
2 $.fn.ip_address = function (oInit) {
3 var divID = oInit;
4
5 this.setIP = function (ip) {
6 if(ip=='' || undefined == ip || "NaN" == ip){
7 for(var i=0;i<4;i++)
8 document.getElementById(divID+"IPAddr"+i).value = '';
9 }else {
10 var ary = ip.split(".");
11 for(i=0;i<4;i++)
12 document.getElementById(divID+"IPAddr"+i).value = ary[i];
13 }
14 }
15
16 this.getIP = function () {
17 var ip="";
18 for(var i=0;i<3;i++)
19 ip+=document.getElementById(divID+"IPAddr"+i).value+".";
20 ip+=document.getElementById(divID+"IPAddr3").value;
21 return ip;
22 }
23 this.validIPV4 = function () {
24 return IsIPv4(this.getIP());
25 }
26
27 this.validIPV6 = function () {
28 return IsIPv6(this.getIP());
29 }
30 this.disableIP = function (var0,var1,var2,var3) {
31
32 document.getElementById(divID+"IPAddr0").readOnly = var0;
33 document.getElementById(divID+"IPAddr1").readOnly = var1;
34 document.getElementById(divID+"IPAddr2").readOnly = var2;
35 document.getElementById(divID+"IPAddr3").readOnly = var3;
36 }
37
38 this.getDivID = function () {
39 return divID;
40 }
41 this.clearHTML = function () {
42 this.innerHTML = "";
43 }
44 this.formatIP = function (ip){
45 var ary = ip.split(".");
46 document.getElementById(divID+"IPAddr0").value = ary[0];
47 document.getElementById(divID+"IPAddr2").value = ary[1];
48 this.formatIP2();
49 }
50
51 this.formatIP2 = function () {
52 document.getElementById(divID+"IPAddr2").value = document.getElementById("IPAddr3").value;
53 }
54
55 return this.each(function () {
56 var id1=divID+"IPAddr0";
57 var id2=divID+"IPAddr1";
58 var id3=divID+"IPAddr2";
59 var id4=divID+"IPAddr3";
60
61 var HTML ="<input type='text' id="+ id1+ " maxlength='3' class='sml' onkeyup='setFocusIP(\""+id1+"\")'> </input><strong>&middot;</strong>";
62 HTML+="<input type='text' id="+ id2 +" maxlength='3' class='sml' onkeyup='setFocusIP(\""+id2+"\")'> </input><strong>&middot;</strong>";
63 HTML+="<input type='text' id="+ id3 +" maxlength='3' class='sml' onkeyup='setFocusIP(\""+id3+"\")'> </input><strong>&middot;</strong>";
64 HTML+="<input type='text' id="+ id4 +" maxlength='3' class='sml'></input>";
65 this.innerHTML += HTML;
66 });
67 }
68})(jQuery);
69function setFocusIP(controlID){
70 var str=document.getElementById(controlID).value;
71 var ipSeg = str.split(".", 3);
72
73 if(str.length==3 ||ipSeg.length > 1) {
74 document.getElementById(controlID).value = ipSeg[0];
75 if ("" == ipSeg[0])
76 return;
77
78 var c = controlID.toString().charAt(controlID.length-1);
79 c++;
80 controlID = controlID.substring(0, controlID.length-1);
81 controlID=controlID+c;
82 document.getElementById(controlID.toString()).focus();
83 }
84}