When I was using t5.2.6 I had a form with a select field called "method". I had javascript code working on that field. When I updated to 5.3.1 that field's name changed to "method_0" which broke the JS functionality.
After debugging I found that "InternalSymbols.PRE_SELECTED_FORM_NAMES" was injected in the "Form" component as an InternalSymbol and as the documentation says, this is to work around some form fields naming conflicts. This mail is just explain to people why would a form field of theirs would have an id that makes it look like there are other components with the same id (i.e. id_0, id_1...etc) So basically don't name your form fields to any of (* reset,submit,select,id,method,action,onsubmit,cancel*) unless you are ready to deal with your field using an id assigned to it be tapestry. It's incremental so it's predictable. In my case I had a "method_0" select component. I have a question to tapestry developers. Where exactly is the hard coded value for that internal symbol ? Debugging was the easiest way to find it out. -- *Regards,* *Muhammad Gelbana Java Developer*