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*

Reply via email to