2012-10-12 35 views
5

Tôi đã đi qua liên kết sau và tình huống của tôi giống như nó.Kiểm soát nút quay lại phần cứng jquery mobile

Disable hardware back function jquery mobile

trạng: Device dưới kiểm tra: Samsung S3

Trang A: ListView với Names (A1, A2, A3) Trang B: Bao gồm Form, Gửi và nút Cancel.

Người dùng điền vào biểu mẫu và nhấp vào nút gửi. Và dữ liệu của anh ấy được tải lên máy chủ. Trang được cập nhật và hộp thoại Xác nhận được hiển thị dữ liệu được tải lên máy chủ.

Hiện vấn đề đến.

Bây giờ khi người dùng nhấp vào nút Quay lại phần cứng, anh lại được chuyển hướng đến Trang B và anh lại có thể gửi biểu mẫu (mà chúng tôi không yêu cầu, vì biểu mẫu chỉ được điền một lần).

Vì vậy, có cách nào mà qua đó tôi có thể kiểm soát phần cứng trở lại nút để hiển thị Trang A bất cứ khi nào nó là trên trang B.

Câu trả lời sau đây từ Nirmal dường như có câu trả lời nhưng tôi không biết làm thế nào để triển khai it-

Không có cách nào thực sự vô hiệu hóa nút quay lại phần cứng trên Blackberry hoặc Android.

Những gì bạn có thể làm là duy trì biến phiên bị vô hiệu hóa trong trình xử lý lưng của bạn và kiểm tra biến phiên đó trong sự kiện pagebeforeshow pagebeforeshow của trang Bài kiểm tra.

Một số người có thể giúp tôi.

Trả lời

1

Bạn sẽ có thể nắm bắt sự kiện nhấp nút quay lại phần cứng bằng javascript.

$(document).bind('keydown', function(event) { 
    if (event.keyCode == 27) { 
    // Prevent default (disable the back button behavior) 
    event.preventDefault(); 

    // Your code to show another page or whatever... 
    } 
}); 
+0

Tôi đang làm việc trên điện thoại di động Samsung galaxy S3, tôi đoán đây là dành cho Bàn phím – user1551578

+0

Tôi đã thử nghiệm nó với một Samsung GT-S5570 (không có bàn phím) và hoạt động. – Pablo

+0

Xin chào, tôi vẫn gặp sự cố, bạn có thể cho tôi biết tôi nên viết mã này vào mã của tôi ở đâu không. – user1551578

2

Sử dụng cookie. bất cứ khi nào biểu mẫu được xử lý, hãy thêm giá trị vào cookie của người dùng và trên trang biểu mẫu, hãy kiểm tra xem giá trị cookie đó có tồn tại hay không. Nếu nó chỉ hiển thị cho người dùng một thông báo cho biết rằng dữ liệu đã được gửi hoặc chuyển hướng người dùng đến trang chính.

1

Điều tôi đã làm là Bao gồm biểu mẫu Đăng nhập và trang mà người dùng được chuyển hướng sau khi đăng nhập, trong cùng một tệp html dưới dạng hai trang (vùng chứa nhiều trang). Sau khi xác thực thông tin đăng nhập, tôi gọi changePage là id của trang mới tôi muốn tải bằng changeHashfalse. Bằng cách này, người dùng sẽ không được trả về đăng nhập ngay cả bằng nút quay lại phần cứng.

Các vấn đề liên quan