X-Git-Url: http://git.datanom.net/qtadmin.git/blobdiff_plain/8b713e6bb0c26f75c7add6f8847e5ddcfee8b1b4..7d080341a23c30924f88d847dc24e4b55f198ae5:/js/forms.js?ds=inline diff --git a/js/forms.js b/js/forms.js index 8160b5a..1460abd 100644 --- a/js/forms.js +++ b/js/forms.js @@ -1,23 +1,39 @@ /* vim: set ts=4 tw=4 sw=4 noet: */ function updateRowsPerPage() { + var pos; + var url; + var base; + var href; var rowsPerPage = document.getElementById("rows"); - var found = false; var link = document.getElementsByTagName('a'); + var found = false; for (var i = 0; i < link.length; i++) { - var url = link[i].href; - var pos = url.search('rowsperpage'); + url = link[i].href; + pos = url.search('rowsperpage'); if (pos >= 0) { found = true; - var base = url.slice(0, pos); - var href = base + 'rowsperpage=' + rowsPerPage.value; + base = url.slice(0, pos); + href = base + 'rowsperpage=' + rowsPerPage.value; link[i].href = href; } } if (found == false) { - /* current page has rows < current rows per page */ - var href = location.href; - href = 'index.php?rowsperpage=' + rowsPerPage.value; - window.location.href = href; + pos = location.href.search('rowsperpage'); + if (pos >= 0) { + base = location.href.slice(0, pos); + } else { + base = location.href; + } + if (location.href.charAt(location.href.length) == '?') { + href = base + 'rowsperpage=' + rowsPerPage.value; + } else { + href = base + '?rowsperpage=' + rowsPerPage.value; + } + } else { + pos = location.href.search('rowsperpage'); + base = location.href.slice(0, pos); + href = base + 'rowsperpage=' + rowsPerPage.value; } + location.href = href; }