From 88e1f02c1a250dae7b8dabeeaf9f6209f4c84942 Mon Sep 17 00:00:00 2001 From: Chad Kieffer Date: Tue, 26 May 2009 03:59:35 +0000 Subject: Split out re-used JavaScript for common functions (messages, valign), panel toggle, and forms to external files. --- lib/gallery.form.js | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 lib/gallery.form.js (limited to 'lib/gallery.form.js') diff --git a/lib/gallery.form.js b/lib/gallery.form.js new file mode 100644 index 00000000..e69be326 --- /dev/null +++ b/lib/gallery.form.js @@ -0,0 +1,42 @@ +/** + * Handle initialization of all short forms + * + * @param shortForms array Array of short form IDs + */ +function handleShortFormEvent(shortForms) { + for (var i in shortForms) { + shortFormInit(shortForms[i]); + } +} + +/** + * Initialize a short form. Short forms may contain only one text input. + * + * @param formID string The form's ID, including # + */ +function shortFormInit(formID) { + $(formID).addClass("gShortForm"); + + // Get the input ID and it's label text + var labelValue = $(formID + " label:first").html(); + var inputID = "#" + $(formID + " input[type=text]:first").attr("id"); + + // Set the input value equal to label text + if ($(inputID).val() == "") { + $(inputID).val(labelValue); + } + + // Attach event listeners to the input + $(inputID).bind("focus blur", function(e){ + var eLabelVal = $(this).siblings("label").html(); + var eInputVal = $(this).val(); + + // Empty input value if it equals it's label + if (eLabelVal == eInputVal) { + $(this).val(""); + // Reset the input value if it's empty + } else if ($(this).val() == "") { + $(this).val(eLabelVal); + } + }); +} -- cgit v1.2.3