summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--includes/pages/user_shifts.php4
-rw-r--r--public/js/forms.js32
2 files changed, 20 insertions, 16 deletions
diff --git a/includes/pages/user_shifts.php b/includes/pages/user_shifts.php
index e4d20fdc..f6167cb3 100644
--- a/includes/pages/user_shifts.php
+++ b/includes/pages/user_shifts.php
@@ -856,8 +856,8 @@ function make_select($items, $selected, $name, $title = null) {
$html = '<div id="selection_' . $name . '" class="selection ' . $name . '">' . "\n";
$html .= implode("\n", $html_items);
$html .= buttons(array(
- button("javascript: check_all('selection_" . $name . "')", _("All"), ""),
- button("javascript: uncheck_all('selection_" . $name . "')", _("None"), "")
+ button("javascript: checkAll('selection_" . $name . "', true)", _("All"), ""),
+ button("javascript: checkAll('selection_" . $name . "', false)", _("None"), "")
));
$html .= '</div>' . "\n";
return $html;
diff --git a/public/js/forms.js b/public/js/forms.js
index a8c7f6ce..896cbb35 100644
--- a/public/js/forms.js
+++ b/public/js/forms.js
@@ -1,24 +1,28 @@
-function check_all(id) {
+/**
+ * Runs through the DOM under the element with the given id, finds all
+ * checkboxes and sets them to the wanted state.
+ *
+ * @param String
+ * id Id of the element containing all the checkboxes
+ * @param Boolean
+ * checked True if the checkboxes should be checked
+ */
+function checkAll(id, checked) {
var obj = document.getElementById(id);
var boxes = obj.getElementsByTagName("input");
- for ( var i = 0; i < boxes.length; i++) {
- if (boxes[i].type == "checkbox" && !boxes[i].disabled)
+ for (var i = 0; i < boxes.length; i++) {
+ if (boxes[i].type === "checkbox" && !boxes[i].disabled) {
boxes[i].checked = true;
- }
-}
-
-function uncheck_all(id) {
- var obj = document.getElementById(id);
- var boxes = obj.getElementsByTagName("input");
- for ( var i = 0; i < boxes.length; i++) {
- if (boxes[i].type == "checkbox")
- boxes[i].checked = false;
+ }
}
}
$(function() {
- $('form').submit(function(ev) {
- $('input[type="submit"]').prop("readonly", true).addClass("disabled");
+ /**
+ * Disable every submit button after clicking (to prevent double-clicking)
+ */
+ $("form").submit(function(ev) {
+ $("input[type='submit']").prop("readonly", true).addClass("disabled");
return true;
});
});