From b0d46b1ab63e5f771a0dbb7400ca674194f456df Mon Sep 17 00:00:00 2001 From: alecpl <alec@alec.pl> Date: Mon, 30 Aug 2010 03:19:35 -0400 Subject: [PATCH] - lock_form(): fix hidden fields were disabled because of wrong type check - lock_form(): fix initially disabled fields shouldn't be enabled on unlock --- program/js/app.js | 21 +++++++++++++++------ 1 files changed, 15 insertions(+), 6 deletions(-) diff --git a/program/js/app.js b/program/js/app.js index 97c5791..5385c49 100644 --- a/program/js/app.js +++ b/program/js/app.js @@ -5145,19 +5145,28 @@ } }; - // set all fields of a form disabled + // disable/enable all fields of a form this.lock_form = function(form, lock) { if (!form || !form.elements) return; - var type; - for (var n=0, len=form.elements.length; n<len; n++) { - type = form.elements[n]; - if (type == 'hidden') + var n, len, elm; + + if (lock) + this.disabled_form_elements = []; + + for (n=0, len=form.elements.length; n<len; n++) { + elm = form.elements[n]; + + if (elm.type == 'hidden') continue; - form.elements[n].disabled = lock; + // remember which elem was disabled before lock + if (lock && elm.disabled) + this.disabled_form_elements.push(elm); + else if (lock || $.inArray(elm, this.disabled_form_elements)<0) + elm.disabled = lock; } }; -- Gitblit v1.9.1