Форма внутри формы и таблицы не отображаются - PullRequest
0 голосов
/ 26 июля 2011

У меня есть форма в таблице, которая находится в другой форме.Моя проблема в том, что встроенный тег формы не отображается - ввод и iframe отображаются, но теги формы не отображаются.Появятся таблица и внешняя форма.Что не так?

<form>
    <table id=\"mytableid\">
        <tr class=\"form_row\">
            <td align=\"right\">
                Upload&nbsp;Photo: 
            </td>
            <td align=\"left\">
                <form action=\"/myuploadpath\" method=\"post\" enctype=\"multipart/form-data\" target=\"upload_target\" id=\"photo_url_upload_form\" name=\"venue_photo_url_upload_form\">
                    <input type=\"file\" name=\"photo_url\" id=\"photo_url\"  size=\"40\" />
                    <iframe id=\"upload_target\" name=\"upload_target\" src=\"#\" style=\"width:0;height:0;border:0px solid #fff;\"></iframe>
                </form>
            </td>
        </tr>
    </table>
</form>

Ответы [ 2 ]

5 голосов
/ 26 июля 2011

Размещение формы внутри другой формы не является допустимым HTML. Когда это происходит, каждый браузер будет делать разные вещи с разметкой. Некоторые игнорируют детали, некоторые ломаются и т. Д. В любом случае вы не должны этого делать.

Редактировать

Если вы используете таблицы для разметки, технически это не должно быть. Они предназначены только для табличных данных. Вы должны использовать divs / spans и CSS, чтобы создать желаемый вид на вашем сайте. Отличное место, чтобы узнать об этом материале - W3C Schools .

1 голос
/ 26 июля 2011

Я предполагаю, что вы используете что-то вроде Firebug или Chrome DOM Inspector, чтобы посмотреть на ваше дерево DOM, и вы не можете видеть внутреннее <form>. Эти инструменты проверяют сам DOM, а не источник HTML. То есть они показывают вам, что браузер интерпретировал из вашего HTML. Проблема в этом случае заключается в том, что вложение <form> в другое <form> недопустимо, и, следовательно, браузер проигнорировал его и продолжил анализ остальной части документа.

Очевидно, исправление состоит в том, чтобы отбросить эту внешнюю форму, поскольку она ничего не делает. Если он у вас есть для стилизации, возможно, используйте <div> с классом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...