in reply to Is this a bug in mechanize::select(), or am I just confused? (or something else) (answer: bad html)

It's illegal to have a SELECT with no OPTION, so this appears to be a case of GIGO at the very least.
  • Comment on Re: Is this a bug in select(), or am I just confused? (or something else)

Replies are listed 'Best First'.
Re^2: Is this a bug in select(), or am I just confused? (or something else)
by rustycar (Novice) on Jul 31, 2008 at 02:50 UTC
    Ah, interesting. What happens is that the page displays an empty box upon first startup. Then, when you click the 'add' button you can add items into the box. Or, once you have items listed in the box, you can select them (one at a time) and click on the 'delete' button. Sounds like the empty box must not have an empty 'select' tag, then once there are items to select then they need to add the appropriate <select> tags. Hmm. Too bad empty select is illegal! :-)

    If this is incorrect, please let me know, as I'll be sending that info (probably late tomorrow) to the authors of the html to have them fix it.

    And sorry for not searching to find out that empty select's are evil :-)

    (I guess this STILL leaves the question of what $mech->select() should do when there is nothing to select. Seems like it should still say 'nothing to do' and return 0 - oh, well.)

      You can't have an empty SELECT, but you can have a SELECT with a single empty OPTION. When user adds an item you should check if the first option is empty and delete it before adding the new option.

      Rule One: "Do not act incautiously when confronting a little bald wrinkly smiling man."