Inline CSS in forms, for real?

So, I use a form helper and it works nicely. Then I look at the code and I find myself somewhat annoyed:

<div style="margin:0;padding:0;display:inline"><input name="_method" type="hidden" value="put" /><input name="authenticity_token" type="hidden" value="xxx" /></div>

I obviously have no issue with hidden inputs, but WHY OH WHY are they inside a completely unnecessary div with completely unnecessary INLINE css?

With that being said, aside from a monkey patch, what's the best way to override this helper to get rid of that junk?

im aren't expert in nothing, but I think the inline does not work in most current versions of browsers. Sorry about my bad english.xD

cult hero wrote:

So, I use a form helper and it works nicely. Then I look at the code and I find myself somewhat annoyed:

<div style="margin:0;padding:0;display:inline"><input name="_method" type="hidden" value="put" /><input name="authenticity_token" type="hidden" value="xxx" /></div>

I obviously have no issue with hidden inputs, but WHY OH WHY are they inside a completely unnecessary div with completely unnecessary INLINE css?

Well for one thing, the <div> is not "completely unnecessary." The HTML will not validate without it (or some other valid element. <input> tags are now allowed to be direct children of <form> tags.

Output from W3C HTML validator:

Ahhh. You and I are using different doc types.

A hidden fieldset makes more sense.

And the inline CSS doesn't hurt anything per se, but if you're a control freak about your HTML that's a real eyesore and there's no way in the configuration to do anything about a number of defaults like that.

HugoLnx wrote:

im aren't expert in nothing, but I think the inline does not work in most current versions of browsers. Sorry about my bad english.xD

Where did you get that idea? I don't know of any modern web browser that doesn't support all the CSS in style="margin:0;padding:0;display:inline"

The only thing I can think of that might be getting you confused is that some browsers (okay really only the stupid one that needs no introduction) would be "display: inline-block;" All modern browsers AFAIK support "display: inline;"