2012-10-31 58 views
0

我正在爲我的網站創建一些分頁,並且希望使用輸入元素在頁面之間導航。jQuery分頁轉到輸入值更改頁面

像下面的例子:

Example of pagination

輸入需要的「返回」鍵,被擊中的腳本觸發。

如果輸入的值不在範圍內且警報將觸發。例如如果有32頁「請輸入一個介於1和32之間的值」

可以通過檢測頁面範圍內的值更改並重定向到該頁面,使用jQuery或JavaScript完成此操作嗎?

我試圖創建蓋蒂圖片社在同一設備:

http://www.gettyimages.com.au/Search/Search.aspx?contractUrl=2&language=en-US&family=creative&p=ball&assetType=image&clarification=ball%3A60847

+0

你能指定你如何存儲範圍? – Skpd

+0

頁面範圍使用以下內容存儲:www.website.aspx?page = 1 – JV10

回答

2

您可以使用得到形式和HTML5無javascript做到這一點:

<form class="pageNumberForm" type="GET"> 
    <input type="number" name="page" class="pageNumber" min="1" max="6" value="1" /> 
</form>​​​​​​​​​​​​​​​​​​​​​​​​​ 

如果你正在使用PHP,你可以在最大和當前頁面填寫:

<form class="pageNumberForm" type="GET"> 
    <input type="number" name="page" class="pageNumber" min="1" max="[page maximum]" value="[current page]" /> 
</form>​ 

你可以添加jquery驗證來驗證不支持html5的瀏覽器的表單。

編輯1:

或者你也可以添加此jQuery代碼一樣的getty確實做了一些簡單的驗證:

$('.pageNumberForm').submit(function() { 
    var pageInput = $(this).children('.pageNumber').first(); 
    var pageInputValue = pageInput.val(); 

    if (pageInputValue < pageInput.attr('min') || pageInputValue > pageInput.attr('max') || !pageInputValue.match(/\d+/)) { 
     alert('Please enter a value between ' + pageInput.attr('min') + ' and ' + pageInput.attr('max')); 
     return false; 
    } 
});​ 
0

運行由「返回」鍵,頁改變腳本,你應該使用$('input').on('keypress')事件,並檢查event.which屬性(它應該是「13」表示「返回」)。

0

我的網站是ASP和我用下面的代碼,它現在的作品。

<form type="get" onchange="return false"> 
<input type="number" name="page" id="page" min="1" max="5" value="1" /> 

我會試着添加一些jQuery驗證爲不支持HTML5的瀏覽器,但它工作在IE8所以我很高興。