форма в таблице

Странный бред


<?=CHtml::form();?>

<?=CHtml::ajaxSubmitButton('Обработать', '/test/test/', array(

    'type' => 'POST',

    'update' => '#serverreply',

),

array(

    'type' => 'submit'

));?>

<?=CHtml::endForm();?>

Прекрасно работает


<table><tr><td>

<?=CHtml::form();?>

<?=CHtml::ajaxSubmitButton('Обработать', '/test/test/', array(

    'type' => 'POST',

    'update' => '#serverreply',

),

array(

    'type' => 'submit'

));?>

<?=CHtml::endForm();?>

</td></tr></table>

Тоже работает


<table><tr>

<?=CHtml::form();?>

<td>

<?=CHtml::ajaxSubmitButton('Обработать', '/test/test/', array(

    'type' => 'POST',

    'update' => '#serverreply',

),

array(

    'type' => 'submit'

));?>

</td>

<?=CHtml::endForm();?>

</tr></table>

Не находит форму(отправляет пустые данные)

Вот они особенности Jquery) Как решить данный вопрос?




<table>

	<tr>

		<form>

			<td><input type="submit" class="save" name="yt0" value="Отправить" id="yt0" /></td>

		</form>

	</tr>

</table>	


<script>

jQuery(function($) {

var len = $("#yt0").parents('form').length;

alert(len);				   

});

</script>

Не найдёт ничё, если подставим не форм, а tr например то найдёт… В общем он думает что его радители это тр тд и тейбл, форму он игнорирует просто

Глянул как валидирует его браузер, на выходе получим:

В общем надо будет переверстать маленько. Поскольку вопрос никак не решить тему можно закрыть или удалить

либо <form><table>…</table></form>

либо <table><tr><td><form>…</form></td>…

Как правило, HTML-валидатор такого рода ошибки находит. Ещё интереснее, когда в похожей ситуации в IE форма не отправляется, а в остальных браузерах всё нормально :)

ps. Как-то вставлял текстовку (единичку, например) или тэг (<span> / <p>) внутрь <table>, и внутрь <tr>… (без <td>, <caption>…)