Reply To: Change Form for User Control Panel

Please take a look a cforms, and every other form generator out there, and they give every element an individual id. Typically, the form will have a class, and some of the surrounding divs within the form that are important and generic will have a class, but within, the elements will have a numbered id based on the surrounding class. This is standard practice and used widely in the industry, so i know for a fact i’m not wrong.

It may be painful, but the forms that are generated from your plugin look terrible by default and completely difficult to style. Using nth selectors is too generic and doesn’t work properly when shared forms share elements.

A class, by it’s definition is meant to be generic and sharable across generic items. An ID, is meant to be a single care selector. Of course, you don’t have to use every single id, and that’s not the point. You’re missing the point. It’s painful to style your html. And, it’s almost impossible to do it, in any practical form, when you have to regenerate and add elements, or there are shared elements across multiple forms where you DO want different styling.

I’m a front end developer, and I’ve been doing this for a very long time. This is standard practice across the industry, and not being able to select individual elements and preferring nth dom traversal is widely known to be INCORRECT and bad practice! On the other hand, look at the way the industry is going to semantic UI selectors, and how bootstrap and any other framework out there work. I think the logic is in the way everyone else is doing it, because they’re following BEST practices.

Finally, there is a happy medium. Your code actually produces NO id’s that are not top level to the form, which is a class. Not one id? Please look at cforms, gravity forms. Please, this is painful. I’m not trying to make you feel or look stupid. But, I plan on using your product along multiple sites, and in this format, it’s practically unuseable to style, in any way, and especially responsive.

I’m not trying to be rude, and i’m not trying to say I know better. But any of the solutions that you have provided are just poor practice. You would benefit your customers greatly if you just add this functionality, which is completely trivial to implement in your core code.