Um... no, I just did it that way. The select didn’t have the eform="..." at all, and I wasn’t sure where to put it so I just started sticking in places to see what would work. I’ll do a quick check to see if it still works if it’s not required. Ok, it works fine if it’s 0 (not required).
By the way, you might be interested to know that I’ve added a small hack to make it possible to recover the form data when returning from another page, when the data is loaded into the SESSION. I put this just before the return formMerge(...) for building the form:
# get SESSION data
if(isset($_SESSION['value']['critical_value'])) {
foreach($_SESSION['value'] as $name => $value) {
$fields[$name] = $value;
}
}
This way, after checking for a critical SESSION value, it loads up the SESSION values in place of POST values. Now if the user has navigated to a different page, he can return either with the browser’s back button or a specific "back to form" link, and his form will be populated.