From 191328d7034a229901cac4af1240ab1885713129 Mon Sep 17 00:00:00 2001 From: msquare Date: Sun, 21 Aug 2016 20:14:09 +0200 Subject: fix method names, quotes, duplication in forms.js --- includes/pages/user_shifts.php | 4 ++-- public/js/forms.js | 32 ++++++++++++++++++-------------- 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 = '
' . "\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 .= '
' . "\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; }); }); -- cgit v1.2.3-54-g00ecf