X-Git-Url: http://git.datanom.net/qtadmin.git/blobdiff_plain/796fb317fdfe7db9f3f267a8c8f98b0b11c222ce..2ad8a6f896952f4eb50ff62287b8dfaa50dfcd21:/js/forms.js diff --git a/js/forms.js b/js/forms.js index 2d7c360..5e36c11 100644 --- a/js/forms.js +++ b/js/forms.js @@ -1,23 +1,43 @@ /* vim: set ts=4 tw=4 sw=4 noet: */ function updateRowsPerPage() { - var rowsPerPage = document.getElementById("rows"); - var found = false; + var pos; + var url; + var base; + var href; var link = document.getElementsByTagName('a'); + var found = false; + var rowsPerPage = document.getElementById("rows"); + + if (rowsPerPage.length < 1) { + return; + } 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 = 'index.php?page=1&rowsperpage=' + rowsPerPage.value; - alert(href); - window.open(href, '_self'); + pos = location.href.search('rowsperpage'); + if (pos >= 0) { + base = location.href.slice(0, pos); + } else { + base = location.href; + } + if (base.charAt(base.length - 1) == '?') { + 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; }