Changeset 6628
- Timestamp:
- 04/29/07 09:17:31 (1 year ago)
- Files:
-
- spinoffs/prototype/branches/form/src/form.js (modified) (1 diff)
- spinoffs/prototype/branches/form/test/unit/form.html (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
spinoffs/prototype/branches/form/src/form.js
r6610 r6628 68 68 69 69 findFirstElement: function(form) { 70 return $(form).getElements().find(function(element) { 70 var elements = $(form).getElements().findAll(function(element) { 71 return 'hidden' != element.type && !element.disabled; 72 }); 73 var firstByIndex = elements.findAll(function(element) { 74 return element.hasAttribute('tabIndex') && element.tabIndex >= 0; 75 }).sortBy(function(element) { return element.tabIndex }).first(); 76 77 return firstByIndex ? firstByIndex : elements.find(function(element) { 71 78 return element.type != 'hidden' && !element.disabled && 72 79 ['input', 'select', 'textarea'].include(element.tagName.toLowerCase()); spinoffs/prototype/branches/form/test/unit/form.html
r6610 r6628 100 100 </form> 101 101 102 <form id="form_ffe"> 103 <p><input type="text" disabled="disabled" id="ffe_disabled" /></p> 104 <input type="hidden" id="ffe_hidden" /> 105 <input type="checkbox" id="ffe_checkbox" /> 106 </form> 107 108 <form id="form_ffe_ti"> 109 <p><input type="text" disabled="disabled" id="ffe_ti_disabled" /></p> 110 <input type="hidden" id="ffe_ti_hidden" /> 111 <input type="checkbox" id="ffe_ti_checkbox" /> 112 <input type="submit" id="ffe_ti_submit" tabindex="1" /> 113 </form> 114 115 <form id="form_ffe_ti2"> 116 <p><input type="text" disabled="disabled" id="ffe_ti2_disabled" /></p> 117 <input type="hidden" id="ffe_ti2_hidden" /> 118 <input type="checkbox" id="ffe_ti2_checkbox" tabindex="0" /> 119 <input type="submit" id="ffe_ti2_submit" tabindex="1" /> 120 </form> 121 102 122 <!-- Tests follow --> 103 123 <script type="text/javascript" language="javascript" charset="utf-8"> … … 295 315 assert(formInputs2 instanceof Array); 296 316 assert(formInputs2.all(function(input) { return (input.tagName == "INPUT"); })); 317 }}, 318 319 testFormFindFirstElement: function() {with(this) { 320 assertEqual($('ffe_checkbox'), $('form_ffe').findFirstElement()); 321 assertEqual($('ffe_ti_submit'), $('form_ffe_ti').findFirstElement()); 322 assertEqual($('ffe_ti2_checkbox'), $('form_ffe_ti2').findFirstElement()); 297 323 }}, 298 324