Alfred Molon wrote:
>> Your <input>s are floating free within <td>s - rather than one of the
>> above. They need to be direct descendants of one of those.
[...]
> Well, it's a form and a table is the simplest way to adjust the
> layout.
There's nothing wrong with structuring a form as table, typically with
labels in one column and corresponding fields in another, and there's
nothing wrong in letting that create a tabular layout.
The statement about <input>s floating free within <td>s is misleading. There
is nothing wrong with <td><input ...></td> as such. A <form> element may
contain a <table> which must contain a <tr> which may contain a <td> which
may contain an <input>. No reason to introduce a block level container,
since <table> is such a container.
However, e.g. the following is a syntax error, in _any_ version of HTML:
<div style="margin: 5px;">
<form method="post" action="gbwrite.php">
</div>
When you start a <form> element within a <div> element, you must end (close)
it there, too.
>> Looks like you have tables five-deep? Maintenance nightmare.
>
> But this page is never changed, no need to maintain it.
So why are you rewriting it? "There is always someone who rewrites working
code, to clean it up or to speed it up." And this saying about programming
applies to HTML authoring as well, with the same ironic tone. (Quite often,
the result is neither cleaner nor faster, but bugs are introduced, as usual
in code modifications.)
--
Yucca,
http://www.cs.tut.fi/~jkorpela/