001    /*
002     * Copyright (c) 2003 World Wide Web Consortium,
003     * (Massachusetts Institute of Technology, Institut National de
004     * Recherche en Informatique et en Automatique, Keio University). All
005     * Rights Reserved. This program is distributed under the W3C's Software
006     * Intellectual Property License. This program is distributed in the
007     * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
008     * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
009     * PURPOSE.
010     * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
011     */
012    
013    package org.w3c.dom.html2;
014    
015    /**
016     * Form control.Depending upon the environment in which the page is being 
017     * viewed, the value property may be read-only for the file upload input 
018     * type. For the "password" input type, the actual value returned may be 
019     * masked to prevent unauthorized use. See the INPUT element definition in [<a href='http://www.w3.org/TR/1999/REC-html401-19991224'>HTML 4.01</a>].
020     * <p>See also the <a href='http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109'>Document Object Model (DOM) Level 2 HTML Specification</a>.
021     */
022    public interface HTMLInputElement extends HTMLElement {
023        /**
024         * When the <code>type</code> attribute of the element has the value 
025         * "text", "file" or "password", this represents the HTML value 
026         * attribute of the element. The value of this attribute does not change 
027         * if the contents of the corresponding form control, in an interactive 
028         * user agent, changes. See the value attribute definition in HTML 4.01.
029         */
030        public String getDefaultValue();
031        /**
032         * When the <code>type</code> attribute of the element has the value 
033         * "text", "file" or "password", this represents the HTML value 
034         * attribute of the element. The value of this attribute does not change 
035         * if the contents of the corresponding form control, in an interactive 
036         * user agent, changes. See the value attribute definition in HTML 4.01.
037         */
038        public void setDefaultValue(String defaultValue);
039    
040        /**
041         * When <code>type</code> has the value "radio" or "checkbox", this 
042         * represents the HTML checked attribute of the element. The value of 
043         * this attribute does not change if the state of the corresponding form 
044         * control, in an interactive user agent, changes. See the checked 
045         * attribute definition in HTML 4.01.
046         */
047        public boolean getDefaultChecked();
048        /**
049         * When <code>type</code> has the value "radio" or "checkbox", this 
050         * represents the HTML checked attribute of the element. The value of 
051         * this attribute does not change if the state of the corresponding form 
052         * control, in an interactive user agent, changes. See the checked 
053         * attribute definition in HTML 4.01.
054         */
055        public void setDefaultChecked(boolean defaultChecked);
056    
057        /**
058         * Returns the <code>FORM</code> element containing this control. Returns 
059         * <code>null</code> if this control is not within the context of a 
060         * form. 
061         */
062        public HTMLFormElement getForm();
063    
064        /**
065         * A comma-separated list of content types that a server processing this 
066         * form will handle correctly. See the accept attribute definition in 
067         * HTML 4.01.
068         */
069        public String getAccept();
070        /**
071         * A comma-separated list of content types that a server processing this 
072         * form will handle correctly. See the accept attribute definition in 
073         * HTML 4.01.
074         */
075        public void setAccept(String accept);
076    
077        /**
078         * A single character access key to give access to the form control. See 
079         * the accesskey attribute definition in HTML 4.01.
080         */
081        public String getAccessKey();
082        /**
083         * A single character access key to give access to the form control. See 
084         * the accesskey attribute definition in HTML 4.01.
085         */
086        public void setAccessKey(String accessKey);
087    
088        /**
089         * Aligns this object (vertically or horizontally) with respect to its 
090         * surrounding text. See the align attribute definition in HTML 4.01. 
091         * This attribute is deprecated in HTML 4.01.
092         */
093        public String getAlign();
094        /**
095         * Aligns this object (vertically or horizontally) with respect to its 
096         * surrounding text. See the align attribute definition in HTML 4.01. 
097         * This attribute is deprecated in HTML 4.01.
098         */
099        public void setAlign(String align);
100    
101        /**
102         * Alternate text for user agents not rendering the normal content of this 
103         * element. See the alt attribute definition in HTML 4.01.
104         */
105        public String getAlt();
106        /**
107         * Alternate text for user agents not rendering the normal content of this 
108         * element. See the alt attribute definition in HTML 4.01.
109         */
110        public void setAlt(String alt);
111    
112        /**
113         * When the <code>type</code> attribute of the element has the value 
114         * "radio" or "checkbox", this represents the current state of the form 
115         * control, in an interactive user agent. Changes to this attribute 
116         * change the state of the form control, but do not change the value of 
117         * the HTML checked attribute of the INPUT element.During the handling 
118         * of a click event on an input element with a type attribute that has 
119         * the value "radio" or "checkbox", some implementations may change the 
120         * value of this property before the event is being dispatched in the 
121         * document. If the default action of the event is canceled, the value 
122         * of the property may be changed back to its original value. This means 
123         * that the value of this property during the handling of click events 
124         * is implementation dependent.
125         */
126        public boolean getChecked();
127        /**
128         * When the <code>type</code> attribute of the element has the value 
129         * "radio" or "checkbox", this represents the current state of the form 
130         * control, in an interactive user agent. Changes to this attribute 
131         * change the state of the form control, but do not change the value of 
132         * the HTML checked attribute of the INPUT element.During the handling 
133         * of a click event on an input element with a type attribute that has 
134         * the value "radio" or "checkbox", some implementations may change the 
135         * value of this property before the event is being dispatched in the 
136         * document. If the default action of the event is canceled, the value 
137         * of the property may be changed back to its original value. This means 
138         * that the value of this property during the handling of click events 
139         * is implementation dependent.
140         */
141        public void setChecked(boolean checked);
142    
143        /**
144         * The control is unavailable in this context. See the disabled attribute 
145         * definition in HTML 4.01.
146         */
147        public boolean getDisabled();
148        /**
149         * The control is unavailable in this context. See the disabled attribute 
150         * definition in HTML 4.01.
151         */
152        public void setDisabled(boolean disabled);
153    
154        /**
155         * Maximum number of characters for text fields, when <code>type</code> 
156         * has the value "text" or "password". See the maxlength attribute 
157         * definition in HTML 4.01.
158         */
159        public int getMaxLength();
160        /**
161         * Maximum number of characters for text fields, when <code>type</code> 
162         * has the value "text" or "password". See the maxlength attribute 
163         * definition in HTML 4.01.
164         */
165        public void setMaxLength(int maxLength);
166    
167        /**
168         * Form control or object name when submitted with a form. See the name 
169         * attribute definition in HTML 4.01.
170         */
171        public String getName();
172        /**
173         * Form control or object name when submitted with a form. See the name 
174         * attribute definition in HTML 4.01.
175         */
176        public void setName(String name);
177    
178        /**
179         * This control is read-only. Relevant only when <code>type</code> has the 
180         * value "text" or "password". See the readonly attribute definition in 
181         * HTML 4.01.
182         */
183        public boolean getReadOnly();
184        /**
185         * This control is read-only. Relevant only when <code>type</code> has the 
186         * value "text" or "password". See the readonly attribute definition in 
187         * HTML 4.01.
188         */
189        public void setReadOnly(boolean readOnly);
190    
191        /**
192         * Size information. The precise meaning is specific to each type of 
193         * field. See the size attribute definition in HTML 4.01.
194         * @version DOM Level 2
195         */
196        public int getSize();
197        /**
198         * Size information. The precise meaning is specific to each type of 
199         * field. See the size attribute definition in HTML 4.01.
200         * @version DOM Level 2
201         */
202        public void setSize(int size);
203    
204        /**
205         * When the <code>type</code> attribute has the value "image", this 
206         * attribute specifies the location of the image to be used to decorate 
207         * the graphical submit button. See the src attribute definition in HTML 
208         * 4.01.
209         */
210        public String getSrc();
211        /**
212         * When the <code>type</code> attribute has the value "image", this 
213         * attribute specifies the location of the image to be used to decorate 
214         * the graphical submit button. See the src attribute definition in HTML 
215         * 4.01.
216         */
217        public void setSrc(String src);
218    
219        /**
220         * Index that represents the element's position in the tabbing order. See 
221         * the tabindex attribute definition in HTML 4.01.
222         */
223        public int getTabIndex();
224        /**
225         * Index that represents the element's position in the tabbing order. See 
226         * the tabindex attribute definition in HTML 4.01.
227         */
228        public void setTabIndex(int tabIndex);
229    
230        /**
231         * The type of control created (all lower case). See the type attribute 
232         * definition in HTML 4.01.
233         * @version DOM Level 2
234         */
235        public String getType();
236        /**
237         * The type of control created (all lower case). See the type attribute 
238         * definition in HTML 4.01.
239         * @version DOM Level 2
240         */
241        public void setType(String type);
242    
243        /**
244         * Use client-side image map. See the usemap attribute definition in HTML 
245         * 4.01.
246         */
247        public String getUseMap();
248        /**
249         * Use client-side image map. See the usemap attribute definition in HTML 
250         * 4.01.
251         */
252        public void setUseMap(String useMap);
253    
254        /**
255         * When the <code>type</code> attribute of the element has the value 
256         * "text", "file" or "password", this represents the current contents of 
257         * the corresponding form control, in an interactive user agent. 
258         * Changing this attribute changes the contents of the form control, but 
259         * does not change the value of the HTML value attribute of the element. 
260         * When the <code>type</code> attribute of the element has the value 
261         * "button", "hidden", "submit", "reset", "image", "checkbox" or 
262         * "radio", this represents the HTML value attribute of the element. See 
263         * the value attribute definition in HTML 4.01.
264         */
265        public String getValue();
266        /**
267         * When the <code>type</code> attribute of the element has the value 
268         * "text", "file" or "password", this represents the current contents of 
269         * the corresponding form control, in an interactive user agent. 
270         * Changing this attribute changes the contents of the form control, but 
271         * does not change the value of the HTML value attribute of the element. 
272         * When the <code>type</code> attribute of the element has the value 
273         * "button", "hidden", "submit", "reset", "image", "checkbox" or 
274         * "radio", this represents the HTML value attribute of the element. See 
275         * the value attribute definition in HTML 4.01.
276         */
277        public void setValue(String value);
278    
279        /**
280         * Removes keyboard focus from this element.
281         */
282        public void blur();
283    
284        /**
285         * Gives keyboard focus to this element.
286         */
287        public void focus();
288    
289        /**
290         * Select the contents of the text area. For <code>INPUT</code> elements 
291         * whose <code>type</code> attribute has one of the following values: 
292         * "text", "file", or "password".
293         */
294        public void select();
295    
296        /**
297         * Simulate a mouse-click. For <code>INPUT</code> elements whose 
298         * <code>type</code> attribute has one of the following values: 
299         * "button", "checkbox", "radio", "reset", or "submit".
300         */
301        public void click();
302    
303    }