Hello,
Say I have the following in a HTML template:
<wo:WOPopUpButton ... selection="$answerSelection" ... /> <wo:WOTextField value="$otherValue" ... />
That is, the WOTextField is rendered after the WOPopUpButton. Experimentally, it looks like setAnswerSelection() is being called before setOtherValue() every time---can I rely on this behaviour?
In case the answer is no, here's the background. I have a WOPopUpButton that displays a list of choices, as well as a noSelectionString. The user can make a choice from the list, or supply an "other" value in the WOTextField, but they're mutually exclusive. I've put some _javascript_ on the page that does the following:
1. On the textfield's onchange event, the JS sets the pop-up to selectedIndex = 0, selecting the noSelectionString. 2. On the pop-up's onchange event, the JS clears the value in the textfield.
In Safari, at least, the JS is not reliable: specifically, if I accept an auto-completion from Safari's history, then the onchange event doesn't seem to fire, and I get a non-null selection in the pop-up, as well as text in the textfield. As a workaround, I was going to have setOtherValue() reverse the work done in setAnswerSelection() if the former is supplied with a non-null value.
To be honest, the whole approach seems a bit baroque, so if someone wants to suggest something better instead of answering the initial question, that would also be fine. :-)
|