2010-06-21 2 views
0

J'ai une entrée demandant au demandeur combien de temps un événement a pris. À l'heure actuelle, il s'agit d'une zone de texte normale qui devrait afficher une erreur si un nombre entier autre que celui-ci est soumis. Je dis à l'émetteur de saisir la longueur en minutes entières. Cependant, penser en minutes n'est pas la meilleure capacité du cerveau ... Ni suivre les instructions, donc je reçois souvent des "demandes de support" qui indiquent que "mon entrée de 1,5 heures n'a pas fonctionné".Contrôle GUI pour représenter la quantité de temps

Existe-t-il un bon moyen de demander à l'utilisateur de soumettre une durée et d'accepter autre chose que des minutes en retour?

Répondre

2

Pourquoi vous ne ferez pas votre contrôle un peu plus intelligent et permettre à ce à saisir: 1h, 40m, 1.5h, 1,5h, 2d5h, etc. En option, vous pouvez « AJAXly » analyser cette valeur sur le côté serveur et fournir un indice côte à côte, qui indiquera comment exactement votre programme interprétera la valeur.

   ----------------- 
Enter Timespan: | 2d1.5h  | (2 days and 1.5 hours, 25.5 hours total) 
       ----------------- 

De plus, vous pouvez utiliser des valeurs par défaut raisonnables, comme 1.5 (ou 1,5) est très probablement 1,5 heure, pas 1,5 minutes, et devrait être interprété comme tel. 0,5 n'est pas 30 secondes aussi bien, mais plutôt 30 minutes, etc.

0

Une manière simple de faire ceci serait d'avoir une boîte acceptant l'entrée de virgule flottante et une autre commande pour sélectionner des unités. Par exemple

Time: [ 4.1  ] [ hours ] <- select units from this drop down box 
Time: [ 0.5  ] [ days ] 
Time: [ 1e-3 ] [ years ] 

Votre code de serveur peut énumérer les unités pour générer le contrôle et interpréter la soumission. La mention explicite des unités dans le champ juste à côté de l'entrée devrait aider les utilisateurs qui ne lisent pas les instructions - ils sont probablement beaucoup plus susceptibles de faire ce qu'il faut s'ils sont là avec les données qu'ils contiennent entrant, que de lire chaque petit détail dans les petits caractères d'un paragraphe au-dessus.

(Cela dit, si vous pouvez le retirer, faire que je aime vraiment la réponse de Anton Gogolev aussi..)

0

Vous pouvez afficher plusieurs boîtes d'entrée acceptant des entiers, chacun pour une unité de temps spécifique:

Time: [ 1 ] day [ 4 ] hours [ 26 ] minutes [ 42 ] seconds 

L'utilisateur peut remplir n'importe quelle boîte ou les deux.

+0

Je pensais à le faire de cette façon, mais il ne semble pas très joli, et il semble moins convivial ... J'ai besoin d'une interface télépathique ... –

Questions connexes