OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <html> | 2 <html> |
3 <body> | 3 <body> |
4 <p id="description">This test setting suggested values on an input element | 4 <p id="description">This test setting suggested values on an input element |
5 and a textarea element. The dump below should have the "suggested value" | 5 and a textarea element. The dump below should have the "suggested value" |
6 instead of "initial value".</p> | 6 instead of "initial value".</p> |
7 <pre><input id="test" type="text" value="initial value"><textarea id="textarea">
</textarea></pre> | 7 <pre><input id="test" type="text" value="initial value"><textarea id="textarea">
</textarea><select id="select"><option>CA</option><option>TX</option></select></
pre> |
8 <script src="../../resources/dump-as-markup.js"></script> | 8 <script src="../../resources/dump-as-markup.js"></script> |
9 <script> | 9 <script> |
10 | 10 |
11 var input = document.getElementById('test'); | 11 var input = document.getElementById('test'); |
12 var textarea = document.getElementById('textarea'); | 12 var textarea = document.getElementById('textarea'); |
13 textarea.value = "initial value"; | 13 textarea.value = "initial value"; |
| 14 var select = document.getElementById('select'); |
| 15 select.selectedIndex = -1; |
14 var result = document.getElementById('result'); | 16 var result = document.getElementById('result'); |
15 if (!window.internals) | 17 if (!window.internals) |
16 testFailed('This test requires internals object'); | 18 testFailed('This test requires internals object'); |
17 else { | 19 else { |
18 input.focus(); | 20 input.focus(); |
19 input.selectionStart = input.selectionEnd = 0; | 21 input.selectionStart = input.selectionEnd = 0; |
20 | 22 |
21 internals.setSuggestedValue(input, 'suggested value'); | 23 internals.setSuggestedValue(input, 'suggested value'); |
22 internals.setSuggestedValue(textarea, 'suggested value'); | 24 internals.setSuggestedValue(textarea, 'suggested value'); |
| 25 internals.setSuggestedValue(select, 'TX'); |
23 | 26 |
24 Markup.description(document.getElementById('description').textContent) | 27 Markup.description(document.getElementById('description').textContent) |
25 | 28 |
26 function addTextResult(value) { input.parentNode.appendChild(document.create
TextNode(value + ': ' + eval(value))); } | 29 function addTextResult(value) { input.parentNode.appendChild(document.create
TextNode(value + ': ' + eval(value))); } |
27 addTextResult('input.value'); | 30 addTextResult('input.value'); |
28 addTextResult('internals.suggestedValue(input)'); | 31 addTextResult('internals.suggestedValue(input)'); |
29 addTextResult('input.selectionStart'); | 32 addTextResult('input.selectionStart'); |
30 addTextResult('input.selectionEnd'); | 33 addTextResult('input.selectionEnd'); |
31 addTextResult('textarea.value'); | 34 addTextResult('textarea.value'); |
32 addTextResult('internals.suggestedValue(textarea)'); | 35 addTextResult('internals.suggestedValue(textarea)'); |
33 | 36 // The selected option value is overwritten by the suggested value. |
| 37 // We make a copy of this selected optioin value as originalValue and |
| 38 // recover it once preview is done. The selectedIndex of <select> is |
| 39 // recovered at the same time. This is a workaround as it looks that |
| 40 // changing the text in display of the select inevitably change the |
| 41 // selected index, hence the value of the selected option. |
| 42 addTextResult('select.value'); |
| 43 addTextResult('internals.originalValue(select)'); |
| 44 addTextResult('internals.suggestedValue(select)'); |
| 45 |
34 Markup.dump(input.parentNode); | 46 Markup.dump(input.parentNode); |
35 } | 47 } |
36 | 48 |
37 </script> | 49 </script> |
38 </body> | 50 </body> |
39 </html> | 51 </html> |
OLD | NEW |