2010-10-11 24 views
0

我正在創建一個內部的基於Web的應用程序,它不會成爲網絡的目標受衆。使用JavaScript警報讓用戶在頁面上

我明白警告框的沮喪並迫使人們做某些事情。

就這樣說,我試圖做的是創建一個JavaScript函數,除非用戶單擊特定頁面上的鏈接,如果他們嘗試從頁面導航而不是在頁面上使用鏈接,我想提醒他們說,對不起,您需要點擊相應的鏈接退出。

我的問題是,我需要鎖定字段,以及當用戶點擊編輯頁面時我可以執行的操作,即時將要寫入用戶鎖定用戶列的表。如果存在值,則該用戶可以訪問該記錄,如果該記錄爲空,則表示沒有人正在編輯該記錄。如果有人點擊進入該記錄,則將其鎖定,我的更新鎖定用戶列表的方法可能是在卸載頁面時出現ajaxy,但可以卸載該頁面的原因有二:1提交編輯表單或用戶離開頁。

一個警報,可以說,抱歉,您可以不點擊解鎖的大紅色按鈕就保留此記錄,並強制用戶不刷新留在頁面上。

我瞭解機器可能崩潰和或ALT + F4或瀏覽器上的畜生結束任務還會留下我其他的工作來解鎖記錄

+4

鎖定桌子聽起來像一個非常糟糕的主意。你不能阻止某人關閉瀏覽器標籤,或者在URL窗口中輸入一個新的URL,或者點擊一個書籤等等。 – Pointy 2010-10-11 20:19:48

+0

我明白,但是這是一個內部應用程序,人們將被指示如何使用它。輸入新的網址或點擊書籤仍然需要該頁面才能卸載。 – 2010-10-11 20:28:15

+0

壞壞壞。使用更好的方法,就像[樂觀併發]一樣簡單(http://en.wikipedia.org/wiki/Optimistic_concurrency_control)。 JavasSript本身應該只是「修飾」,以防止用戶意外導航和丟失工作(例如在Gmail中)。 – 2010-10-11 22:53:13

回答

1

您需要使用頁面的onunload事件呈現當用戶嘗試離開您的頁面時出現消息框。看看這個例子:http://www.codetoad.com/javascript/miscellaneous/onunload_event_eg.asp

+0

這可能是您可以做的最好的,但用戶可以隨時點擊按鈕,即「我不在乎我要離開」。 – Pointy 2010-10-11 20:22:13

+0

您可以控制消息框中的按鈕並防止用戶離開頁面。但它只是一個網頁,用戶可以關閉標籤或瀏覽器。沒有辦法完全阻止用戶離開。 – Merrimack 2010-10-11 20:26:08

+0

我明白這一點。有些事情你可以做,以提醒那些將履行工作職責的人,引導他們朝正確的方向發展。 – 2010-10-11 20:31:40