2010-03-08 28 views
3

在基於表格的應用程序模塊的編程中(即用戶主要在已經佈置的表格中輸入表格數據),您會如何拒絕給定單元格的用戶輸入?如何從視覺上拒絕用戶在表格中的輸入?

這種情況是:用戶編輯單元格,輸入內容(文本,圖片等),並希望他們在完成編輯時(例如按回車鍵)注意到他們的輸入對您無效給出「格式」(從更廣泛的意義上說:可能是他們輸入了一個字符串而不是數字,他們的輸入太長,太短,他們包括一張圖片,但它是不可接受的......)。

我可以看到兩個不同的事情發生了:

  1. 您可以相當輕鬆地適應他們進入你的格式,你這樣做,但你希望他們注意,這樣他們可以改變,如果你的猜測是不是(例如:他們在一個需要整數的字段中輸入「15.47」,所以你的程序使它成爲「15」)
  2. 你無法猜測如何處理他們的條目,並且想告訴他們它不是有效。

我的問題具體是:你可以提供什麼樣的視覺顯示來告知用戶他的輸入是無效的?是否最好拒絕離開編輯模式?

的兩件事情我可以想像是:

  • 使用顏色(紅色背景,如果無效,黃色背景上面我的情況下1)
  • 當你拒絕的輸入,像做蘋果確實爲密碼用戶帳戶的輸入:你讓單元格「搖動」(即左右擺動)一秒鐘,然後保持焦點/編輯狀態,以便它們不會丟失他們輸入的內容。

讓我們聽聽你的建議。

PS:這個問題,至少在我的思維過程,在某種程度上延續,我剛纔的問題上getting users to read error messages.

PPS專業化地:這個社會的維基,是正確的事情就這樣做或不是?

回答

2

請小心使用自動更正,如強制用戶輸入以適合您的格式。參見:

Is it acceptable to normalize text box content when it loses focus?

首先防止無效條目通常比稍後自動更正它們更好。例如,如果僅允許整數,則忽略小數點的任何鍵(連同所有字母和大多數特殊字符)。在某些環境中,您可能希望提供一個安靜的可聽信號,忽略輸入(例如,一個沉悶的聲音)。

至於何時需要提醒用戶出現錯誤,那麼標註怎麼樣?從控件或問題點(字段,狀態信號器,按鈕,菜單,拖放位置)向窗口邊緣繪製一條亮線並放置一條簡短消息(兩個或三個單詞,如「無法識別的日期」 )在氣球中。將消息放在邊距上應該避免在擁擠的桌子上遮擋任何感興趣的東西。

突然出現的召喚應該足以吸引用戶的注意力,所以可以讓用戶移動到其他單元以防他們想要稍後修復錯誤。爲了提高效率,當錯誤最初發生時(因爲用戶經常想要立即糾正錯誤),您可能希望在錯誤相關字段中將用戶保持在錯誤相關字段中,但隨後允許用戶將下一個標籤或鼠標點擊導航。

在鼠標懸停或焦點位於與錯誤關聯的控件上時,該行會突出顯示(以區別於可能存在的其他標註行)並且該氣球將展開爲完整的錯誤消息,提供有關如何解決問題(最多兩句話)。允許用戶將氣球拖放到新的位置,以防止這種情況阻塞感興趣的事物。

在展開的氣球中包含幫助按鈕以獲取更多詳細信息。您還可以包含一個修復錯誤的按鈕(例如,重試,重新連接或設置爲默認值)。

修正錯誤後氣球會自動消失。撤消會恢復導致錯誤的任何內容(例如,將字段恢復爲其原始值),這應該清除錯誤。

如果用戶從與錯誤相關聯的位置滾動離開,則氣球縮小爲保留在視圖中的圖標,以便用戶不太可能忘記它。也許三角形中的感嘆號是一個很好的圖標。將圖標放置在滾動條軌道的旁邊或其中以指示其在表格中的相對位置,以便用戶可以快速滾動以便稍後查找它。 Mouseover將圖標擴展爲完整的消息。也許點擊圖標可以滾動到表格中的正確位置,並將焦點放在相關的控件中。

如果氣球開始在視覺上相互干擾,它們也會縮小爲圖標。您甚至可能想要將一個控件包含在氣球中,以允許用戶強制它呈現圖標。

爲保持一致性,請使用所有錯誤,而不僅僅是那些與表中的字段關聯的錯誤。

0

上一次我做了這樣一個表單(在網頁上),我在有問題的輸入周圍放了一個紅框。

我以爲它真的很整潔......直到用戶問我「爲什麼這個單元周圍有一個紅色框?」

什麼是好也顯示爲什麼輸入的不正確:「這個領域只接受數字」,說。

0

您可以在單元格或工具提示中顯示圖標。工具提示可以自動打開,或者當鼠標指針懸停在圖標上時。當用戶編輯另一個單元或某個超時過期時,它可能會自動消失。

0

您可以使用Adobe Flex的錯誤工具提示等箭頭工具提示。它將注意力集中在錯誤上並提供簡要說明。