On Feb 15, 9:08 pm, kangax <[email protected]> wrote: > On Feb 14, 7:25 pm, perk <[email protected]> wrote: > > > > > At first I thought this was a cross-browser issue of Prototype when > > Form.Element.present() used on a select box returned "true" on Firefox > > but not on IE when a non-empty OPTION field was selected. > > > Later then, I realized that this method was in fact just meant for > > text inputs (as clearly stated in the documentation: "Returns true if > > a text input has contents, false otherwise."). > > > Still, I think it would be nice to have the functionality of the > > Form.Element.present method extended so that the following example > > would work on all browsers the way I thought it would at first > > ("false" when no or the empty option is selected, "true" otherwise): > > > <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> > > > <html> > > <head> > > > <title>Test</title> > > <script type="text/javascript" src="prototype.js"></script> > > <script type="text/javascript"> > > document.observe("dom:loaded", function () { > > $("mySelect").observe("change", function () { > > alert($("mySelect").present() ? "select set" : "select not > > set") > > }); > > }); > > </script> > > > </head> > > <body> > > > <select id="mySelect"> > > <option></option> > > <option>test</option> > > </select> > > > </body> > > </html> > > > What do you think? > > The problem actually seems to be in `Element#getValue` returning > "" (empty string) in Firefox (3.0.5), Safari (3.1) and Opera (9.61) > for a value of a select element with `selectedIndex == -1` (i.e. the > one with no options selected), while returning `null` in IE. If you > look at the DOM L2 specs for `HTMLSelectElement` [1], you can see that > `value` property is defined as that of type `DOMString`. `DOMString` > in its turn is essentially a character string encoded in UTF-16 [2]. > This makes IE's `null` a bogus (what a surprise!). > > Unless I'm missing something, we should fix `getValue` foremost. > > Would you mind filing a ticket? > > [1]http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-94282980 > [2]http://www.w3.org/TR/DOM-Level-2-Core/core.html#DOMString > > -- > kangax
I couldn't reproduce IE returning null on getValue. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Prototype: Core" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/prototype-core?hl=en -~----------~----~----~----~------~----~------~--~---
