summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorSarven Capadisli <csarven@controlyourself.ca>2009-09-03 19:42:50 +0000
committerSarven Capadisli <csarven@controlyourself.ca>2009-09-03 19:42:50 +0000
commit277b464054b24f8d680ddbe762c9e438f6679592 (patch)
treec56e63d8177082385355af38c418813ee2595157 /lib
parent0c95734a6874608ea5ed44608cabeda7c3a1b4ea (diff)
Created autofocus method to give focus to an element (primarily a form
control) on page onload. Updated some of the pages to use autofocus.
Diffstat (limited to 'lib')
-rw-r--r--lib/designsettings.php2
-rw-r--r--lib/htmloutputter.php25
2 files changed, 27 insertions, 0 deletions
diff --git a/lib/designsettings.php b/lib/designsettings.php
index fe4222597..fdc05562e 100644
--- a/lib/designsettings.php
+++ b/lib/designsettings.php
@@ -327,6 +327,8 @@ class DesignSettingsAction extends AccountSettingsAction
$this->script('js/farbtastic/farbtastic.js');
$this->script('js/farbtastic/farbtastic.go.js');
$this->script('js/userdesign.go.js');
+
+ $this->autofocus('design_background-image_file');
}
/**
diff --git a/lib/htmloutputter.php b/lib/htmloutputter.php
index 8ad7dc20f..aa01f6b1d 100644
--- a/lib/htmloutputter.php
+++ b/lib/htmloutputter.php
@@ -412,4 +412,29 @@ class HTMLOutputter extends XMLOutputter
$this->element('p', 'form_guide', $instructions);
}
}
+
+
+ /**
+ * Internal script to autofocus the given element on page onload.
+ *
+ * @param string $id element ID, must refer to an existing element
+ *
+ * @return void
+ *
+ */
+ function autofocus($id)
+ {
+ $this->elementStart('script', array('type' => 'text/javascript'));
+ $this->raw('
+ <!--
+ $(document).ready(function() {
+ var el = $("#' . $id . '");
+ if (el.length) {
+ el.focus();
+ }
+ });
+ -->
+ ');
+ $this->elementEnd('script');
+ }
}