2009-10-16 33 views
6

Giao diện người dùng dựa trên web tốt để ghi lại khoảng thời gian từ người dùng là gì. Cho phép nói rằng chúng tôi muốn ghi lại thời lượng trong vài phút. Nhưng muốn trình bày nó như vậy mà người dùng có thể nhập vào giờ và \ hoặc phút.Giao diện người dùng để chụp một khoảng thời gian hoặc thời lượng

Chỉ cần sử dụng 2 hộp văn bản cho giờ \ phút? Hoặc một hộp văn bản duy nhất và cho phép chúng nhập "1 giờ 31 phút" hoặc "91 phút"?

Hoặc có điều gì tốt hơn không?

Trả lời

1

Cảm ơn tất cả các phản hồi.

gì cuối cùng tôi đã kết thúc làm là, có một hộp duy nhất cho thấy thời gian thời gian trong định dạng "xxhrs yymin"

Người dùng có thể chỉnh sửa nó và khi tập trung di chuyển ra khỏi hộp, nó sẽ tính toán lại thời gian và định dạng lại văn bản thành dạng kinh điển.

Trình phân tích cú pháp để diễn giải văn bản được nhập là khá tự do.

Đó là tập hợp các cụm từ thông dụng để khớp với bất kỳ số nào theo sau là 'h' hoặc 'm' hoặc 'd' để biểu thị giờ, phút và ngày. Nếu nó không tìm thấy bất kỳ 'đơn vị' nào với một số ở phía trước nó, nó giả sử bạn đã nhập số nguyên trong vài phút và sẽ diễn giải nó như vậy.

Vì vậy, nếu sử dụng các loại:

"1,5 giờ", nó sẽ định dạng lại để "1g 30 phút" sau khi rời khỏi hộp.

"90 phút" cũng sẽ được định dạng lại là "1 giờ 30 phút"

Các phân tích cú pháp chỉ nhìn vào ký tự đầu tiên sau khi số, có nghĩa là bạn có thể nhập "1 ngày, 7 giờ và 19 phút" và nó sẽ nhận ra nó một cách chính xác.

Tất nhiên, nó cũng sẽ nhận ra "2 lỗ và 19 con chuột" là "2 giờ và 19 phút".

Tôi nghĩ mình có thể sống với điều đó.

1

Chỉ cần để chúng nhập các số chỉ trong một định dạng thời gian được xác định trước.

Đặt 2 hộp văn bản cho giờ và phút mà không cần giờ hoặc phút.

Ngoài ra, bạn phải xác định xem đó là hệ thống 24 giờ hay 12 giờ.

+0

Vâng, một khoảng thời gian của nó. Vì vậy, không có khái niệm 24 giờ/12 giờ đúng không? Họ về mặt lý thuyết có thể nhập "32 giờ 30 phút" –

+0

Ok. Điều gì sẽ xảy ra khi anh ta nhập phút lớn hơn 60? – rahul

2

Nếu bạn có hai hộp văn bản được gắn nhãn giờ và phút thì bạn cần xử lý trường hợp người dùng nhập vào cả hai.

3 into h and 35 into m => pretty clear. 3 hours 35 mins 

nothing into h and 95 into m => 1 hour 35 mins (probably update the display to show that) 

nhưng những gì về

2 into h and then 95 into m => does that mean 3 h 35 or 1 hour 35 

Tôi đã sử dụng quá nhiều UIS gây phiền nhiễu mà thay đổi một lĩnh vực hạ gục mục khác để tự tin rằng tôi có thể đưa ra một bộ unastonishing hành vi.

Do đó tôi sẽ đi cho một hộp duy nhất mà chúng ta có thể gõ 3h hoặc 1h 35m hoặc 95m và có một màn hình chỉ đọc riêng biệt của giải thích.

Dường như có cơ hội cho một tiện ích đẹp để cho phép một mục nhập bằng chuột, giống như tiện ích con lịch cho phép nhập ngày. Một chiếc đồng hồ nhỏ với tay kéo?

1

Vâng, các trường giờ và phút riêng biệt là an toàn nhất nhưng chậm hơn để sử dụng so với một trường đơn lẻ. Bạn có thể mặc định số giờ là 0 nếu bạn không mong đợi nhiều thời lượng hơn 1 giờ.

Có lẽ nó phụ thuộc vào dân số của bạn, nhưng tôi hy vọng người dùng sẽ có thể xử lý giờ và phút trong cùng một hộp văn bản nếu bạn cung cấp một dấu nhắc, chẳng hạn như “Thời gian thời gian (giờ: phút):”

Với lời nhắc đó, hãy chấp nhận bất kỳ chuỗi số không gián đoạn ban đầu nào là giờ và bất kỳ chuỗi số không gián đoạn nào sau đó là phút, sao cho tất cả các đầu vào sau được coi là tương đương.

  • 2:30

  • 02:30

  • 02:30:05

  • 2,30 (hoặc có thể không: trong khi tuyệt vời cho entry bàn phím, nhưng bạn có thể muốn tạo ngoại lệ cho dấu thập phân để cho phép người dùng nhập giờ phân số, chẳng hạn như 2,75 trong 2 giờ 45 phút.)

  • 2 giờ 30 phút

  • 2 giờ, 30 phút

  • 2jaQp 30 !!!!

Tôi thấy không có lý do gì để yêu cầu biên bản được ít hơn 60. Người dùng cũng sẽ có thể để diễn tả thời gian như:

  • : 150

Khi tiêu điểm rời khỏi trường, tự động sửa bất kỳ điều gì người dùng nhập vào định dạng (giờ: phút) được chỉ định để phản hồi cách diễn giải bạn đã thực hiện.

Nếu tất cả những gì bạn cần cho mục đích của bạn là xấp xỉ thời gian (hoặc người dùng của bạn chỉ ước tính), hãy xem xét các nút tùy chọn hoặc danh sách thả xuống có phạm vi thời lượng (ví dụ: 0 đến 5 phút, 5 đến 15 phút, 15 phút đến 1 giờ, Hơn một giờ.). Hoặc nếu có giới hạn xác định về thời lượng và khoảng thời gian là tuyến tính có chức năng, bạn có thể sử dụng thanh trượt được gắn nhãn.

Bất kể định dạng hoặc điều khiển đầu vào bạn sử dụng, nó phải tương thích với nguồn thông tin. Người dùng nhận được thời lượng này ở đâu? Đơn vị, định dạng, khoảng thời gian và độ chính xác nào được sử dụng ở đó? Người dùng suy nghĩ và nói về thời gian giữa họ như thế nào?

+0

Ví dụ của bạn về: 150 sẽ không hoạt động với phần còn lại của câu trả lời vì nó sẽ được hiểu là 150 giờ. Dù sao, tôi không nghĩ rằng sự tự do này là tốt cho người dùng vì nó là cái gì đó anh ta sẽ không mong đợi và thường sẽ không biết cách sử dụng nó –

+0

Bởi "chuỗi đầu tiên của các số" Tôi có nghĩa là chuỗi ban đầu khi nó bắt đầu với một chữ số, vì vậy: 150 không có chuỗi số đầu tiên, vì vậy giờ là 0 và phút là 150. Tôi không thể thấy sự tự do bất ngờ sẽ là vấn đề. Hầu hết người dùng sẽ không bao giờ phát hiện ra nó (họ sẽ không bao giờ nghĩ đến việc gõ "2 30"), nhưng những người có thể thấy nó hữu ích (gõ dấu hai chấm tương đối khó xử trên nhiều bàn phím). Unexpected _limitations_ --now _that's_ là một vấn đề. –

0

Tôi nghĩ rằng không nên có sự điều chỉnh phía khách hàng cho các phút lớn hơn 60 khi ai đó đề xuất. Nó sẽ chỉ gây nhầm lẫn và tạo ra các vấn đề không cần thiết.

Người dùng đã nhập dữ liệu để anh ấy nên hiểu những gì anh ấy đã nhập và không cần phải sửa anh ấy.

Tôi sẽ để những trường này được người dùng điền. Ở phía máy chủ, tôi chỉ tính tổng số phút là:

$total_minutes = 60 * $_POST['hours'] + $_POST['minutes']; 
0

Tôi chỉ đang nghĩ về điều này và nhận ra một giao diện người dùng quen thuộc cho loại điều này là lò vi sóng. Đối với các ứng dụng giống như iPhone, bàn phím có thể tốt hơn so với điều cuộn lăn mà tôi thường thấy.

Trong trường hợp của tôi, tôi nghĩ rằng tôi sẽ đi với một trường văn bản cho "số" và một hộp chọn cho "đơn vị" (năm, tháng, tuần, ngày, giờ).

Thanh trượt (jqueryui, html5) cũng có thể là một tùy chọn, tùy thuộc vào loại phạm vi bạn đang nói đến.

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