Pytanie : Dynamiczny Formularzowy Element

I mieć the następujący html forma i JavaScript ten I podnosić ten na the sieć. I mieć ono dostosowywać the punkt dokąd ono wszystkie praca z wyjątkiem jeden mały część. Gdy ty wybierać Lokacja 3 i klikać dalej lub Księgowość lub Zarządzanie checkbox the pole dalej ruszać się the lewica i ciągnienie w górę the drugi wartość jakby ono musieć. , Gdy ty wybierać the Marketingowy checkbox funkcjonować jak the pierwszy dwa items.

See kod pierwszy, móc dwa?

1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
var FORM_MANAGER_CONDITION_SEPARATOR = "I";
var FORM_MANAGER_POSSIBILITY_SEPARATOR = "LUB";
var FORM_MANAGER_NAME_VALUE_SEPARATOR = "BYĆ";
var FORM_MANAGER_DEPENDS = "ZALEŻEĆ NA";
var FORM_MANAGER_CONFLICTS = "KONFLIKT Z";
var FORM_MANAGER_EMPTY = "OPRÓŻNIAĆ";

funkcja addEvent (el, ev, f) {
  jeżeli (el.addEventListener)
    el.addEventListener (ev, f, fałszywy);
  inny jeżeli (el.attachEvent) {
    var t = funkcja () {
      f.apply (el);
    };
    addEvent.events.push ({"element": el, "wydarzenie": ev, "treser": f});
    el.attachEvent ("na" + ev, t);
  } inny
    el ["na" + ev] = f;
}

funkcja addEvents (els, evs, f) {
  dla (var i = (0); i < els.length; ++i)
    dla (var j = (0); j < evs.length; ++j)
      addEvent (els [i], evs [j], f);
}

addEvent.events = [];

jeżeli (typeof window.event! == "niezdefiniowany")
  addEvent (okno, "rozładowywać", funkcja () {
      dla (var i = (0), e = addEvent.events; i < e.length; ++i)
        e [i] .element.detachEvent ("na" + e [i] .event, e [i] .handler);
    }
  );

funkcja getRadioValue (el) {
  jeżeli (! el.length) powrotny null;
  dla (var i = (0); i < el.length; ++i)
    jeżeli (el [i] .checked) powrotny el [i] .value;
  powrotny null;
}

funkcja getSelectValue (el) {
  jeżeli (! el.tagName  || el.tagName.toLowerCase ()! == "wybiórka")
    powrotny null;
  powrotny el.options [el.selectedIndex] .value;
}

funkcja isElementValue (el, v) {
  jeżeli (v === FORM_MANAGER_EMPTY) v = '';
  powrót (
    getRadioValue (el) == v ||
    getSelectValue (el) == v ||
    (
      el.tagName &&
      el.tagName.toLowerCase ()! == "wybrany" &&
      el.value == v
    )
  );
}

funkcja setupDependencies () {
  var showEl = funkcja () {
    this.style.display = "";
    jeżeli (this.parentNode.tagName.toLowerCase () == "etykietka")
      this.parentNode.style.display = "";
  };
  var hideEl = funkcja () {
    this.style.display = "nikt";
    jeżeli (typeof this.checked! == "niezdefiniowany") this.checked = fałszywy;
    inny this.value = "";
    jeżeli (this.parentNode.tagName.toLowerCase () == "etykietka")
      this.parentNode.style.display = "nikt";
    this.hidden = true;
  };
  var calcDeps = funkcja () {
    dla (var i = (0), e = this.elements; i < e.length; ++i) {
      e [i] .hidden = fałszywy;
      dla (var j = (0), f = e [i] .className.split (FORM_MANAGER_CONDITION_SEPARATOR); j < f.length; ++j)
        jeżeli (f [j] .indexOf (FORM_MANAGER_DEPENDS) === (0)) {
          dla (var k = (0), g = f [j] .substr (FORM_MANAGER_DEPENDS.length) .split (FORM_MANAGER_POSSIBILITY_SEPARATOR); k < g.length; ++k)
            jeżeli (g [k] .indexOf (FORM_MANAGER_NAME_VALUE_SEPARATOR) === -1) {
	      jeżeli (e [g [k]] && e [g [k]] .checked) przerwa;
            inny jeżeli (k + (1) == g.length)
                e [i] .hide ();
            } inny {
              var n = g [k] .split (FORM_MANAGER_NAME_VALUE_SEPARATOR),
                v = n [(1)];
              n = n [(0)];
	      jeżeli (e [n])
	        jeżeli (isElementValue (e [n], v)) przerwa;
	        inny jeżeli (k + (1) == g.length) e [i] .hide ();
	    }
        } inny jeżeli (f [j] .indexOf (FORM_MANAGER_CONFLICTS) === (0)) {
          jeżeli (f [j] .indexOf (FORM_MANAGER_NAME_VALUE_SEPARATOR) === -1) {
	    jeżeli (e [f [j] .substr (FORM_MANAGER_CONFLICTS.length)] && e [f [j] .substr (FORM_MANAGER_CONFLICTS.length)].checked) {
              e [i] .hide ();
              przerwa;
            }
          } inny {
            var n = f [j] .substr (FORM_MANAGER_CONFLICTS.length) .split (FORM_MANAGER_NAME_VALUE_SEPARATOR),
              v = n [(1)];
            n = n [(0)];
            jeżeli (e [n]) {
              jeżeli (isElementValue (e [n], v)) {
                e [i] .hide ();
                przerwa;
              }
            }
          }
        }
      jeżeli (! e [i] .hidden) e [i] .show ();
    }
  };
  var changeHandler = funkcja () {
    this.form.calculateDependencies ();
    powrót prawdziwy;
  };
  dla (var i = (0); i < arguments.length; ++i) {
    dla (var j = (0), e = window.document.forms [argument [i]] .elements; j < e.length; ++j) {
      addEvents ([e [j]], ["zmiana", "keyup", "ostrość", "stuknięcie", "keydown"], changeHandler);
      e [j] .hide = hideEl;
      e [j] .show = showEl;
    }

    (e = window.document.forms [argument [i]]) .calculateDependencies = calcDeps;
    e.calculateDependencies ();
  }
}
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:



Untitled Document






Zadawalać wybiórka twój kampus i akademicki dyscyplina.


  





Odpowiedź : Dynamiczny Formularzowy Element

Tam  ty iść który musieć ono zmartwiony ono brać więc tęsknić ono miewać zaklopotany chwilowo.
Wszystkie the best,
Ian
(1):
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:





Inne rozwiązania  
 
programming4us programming4us