1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
|
\documentclass{article}
\usepackage[designiv]{web}
\usepackage{grayhints}\previewOff
\addtoWebHeight{1in}
\def\cs#1{\texttt{\char`\\#1}}
\parindent0pt
%\EnterCommitFailEvent{\jsT\jsT
% event.target.strokeColor=color.red;\jsR\jsT\jsT
% event.value=(event.target.savevalue);}
%\CommitSuccessEvent{event.target.strokeColor=color.black;}
\begin{document}
\begin{center}
\large\bfseries Gray Hints
\end{center}
The `gray hint' technique requires modifications to the Format,
Keystroke, OnFocus, OnBlur, and Calculate events.\medskip
\textField[\textColor{\matchGray}
\TU{Enter your first name}
\AA{\AAFormat{\FmtToGray{First Name}}
\AAKeystroke{\KeyToGray}
\AAOnFocus{\JS{\FocusToBlack}}
\AAOnBlur{\JS{\BlurToBlack}}
\AACalculate{\CalcToGray}
}]{Name.First}{2in}{11bp}\cgBdry[1em]
\textField[\textColor{\matchGray}
\TU{Enter your last name}
\AA{\AAFormat{\FmtToGray{Last Name}}
\AAKeystroke{\KeyToGray}
\AAOnFocus{\JS{\FocusToBlack}}
\AAOnBlur{\JS{\BlurToBlack}}
\AACalculate{\CalcToGray}
}]{Name.Last}{2in}{11bp}\cgBdry[1em]\vcgBdry[3bp]
\textField[\textColor{\matchGray}
\TU{Enter a date of your choosing}
\AA{%
\AAOnFocus{\JS{\FocusToBlack}}
\AAKeystroke{\DateKeyEx("yyyy/mm/dd");\r
\KeyToGray}
\AAFormat{\DateFmtEx("yyyy/mm/dd");\r
\FmtToGray{yyyy/mm/dd}}
\AAOnBlur{\JS{\BlurToBlack}}
\AACalculate{\CalcToGray}
}]{Datefield}{1in}{11bp}\kern2bp\enspace$\Leftarrow$\enspace
\parbox{\linewidth-1in-2bp-\widthof{\enspace$\Leftarrow$\enspace}}
{\small Refer to \texttt{gh-fmts-eforms.tex} for additional discussion of
fields requiring special formatting.}\medskip
The next three fields perform calculations, the last one is the sum of the
first two. These are fields formatted as numbers. To prevent `Total' field
from displaying a zero (0) when the dependent fields are empty (and to
display its gray hint instead), a document JavaScript function was developed,
named \texttt{AllowCalc(cArray)}. This function returns \texttt{true} if any
of the fields listed in \texttt{cArray} has a value and returns
\texttt{false}, otherwise.\vcgBdry[6bp]
\textField[\TU{Enter an integer}
\textColor{\matchGray}\AA{%
\AAKeystroke{\NumKey(0,1,0,0,"",true);\r\KeyToGray}
\AAFormat{\NumFmt(0,1,0,0,"",true);\r\FmtToGray{First Integer}}
\AAOnFocus{\JS{\FocusToBlack}}
\AAOnBlur{\JS{\BlurToBlack}}
\AACalculate{\CalcToGray}
}]{Integer.First}{1in}{11bp}\vcgBdry[3bp]
\textField[\TU{Enter an integer}
\textColor{\matchGray}\AA{%
\AAKeystroke{\NumKey(0,1,0,0,"",true);\r\KeyToGray}
\AAFormat{\NumFmt(0,1,0,0,"",true);\r\FmtToGray{Second Integer}}
\AAOnFocus{\JS{\FocusToBlack}}
\AAOnBlur{\JS{\BlurToBlack}}
\AACalculate{\CalcToGray}
}]{Integer.Second}{1in}{11bp}\vcgBdry[3bp]
\textField[\TU{The total for first and second integers}
\textColor{\matchGray}\AA{%
\AAKeystroke{\NumKey(0,1,0,0,"",true);\r\KeyToGray}
\AAFormat{\NumFmt(0,1,0,0,"",true);\r\FmtToGray{Total}}
\AACalculate{var cArray=new Array("Integer");\r
if (AllowCalc(cArray))\SimpleCalc("SUM", cArray );\r\CalcToGray}
\AAOnFocus{\JS{\FocusToBlack}}
\AAOnBlur{\JS{\BlurToBlack}}
}]{TotalNumbers}{1in}{11bp}\medskip
The gray hint technique can apply to editable combo boxes as well.\vcgBdry[3bp]
\comboBox[\textColor{\matchGray}
\TU{Enter or choose your favorite food}\Ff{\FfEdit}
\AA{\AAFormat{\FmtToGray{Enter your favorite food}}
\AAKeystroke{\KeyToGray}
\AAOnFocus{\JS{\FocusToBlack}}
\AAOnBlur{\JS{\BlurToBlack}}
\AACalculate{\CalcToGray}
}]{combo}{1.65in}{11bp}{(Meat)(Potatoes)(Rice)(Onions)(Pickles)}\cgBdry[1em]
\pushButton[\CA{Reset}
\TU{Press to clear to clear all fields.}
\A{\JS{this.resetForm();}}]{reset}{}{11bp}\medskip
The color scheme of the gray hints is changed using
\cs{normalGrayColors}. The initial value of \cs{textColor}, which sets the
color of the text, must match, for appearance sake, the choice for the gray
color; for this reason, the \cs{matchGray} command was developed.\vcgBdry[6bp]
%\normalGrayColors{blue}{magenta}
\normalGrayColors{color.blue}{color.magenta}
\textField[\textColor{\matchGray}
\TU{Enter your favorite pet's name}
\AA{\AAFormat{\FmtToGray{Pet's name}}
\AAKeystroke{\KeyToGray}
\AAOnFocus{\JS{\FocusToBlack}}
\AAOnBlur{\JS{\BlurToBlack}}
\AACalculate{\CalcToGray}
}]{Pet}{1in}{11bp}
\end{document}
|