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