Post форма и кривая вёрстка, взять элементы [JavaScript]

LEOnidUKG
На сайте с 25.11.2006
Offline
1774
665

Интересная есть задача. 

Имеется некая форма, вложенность её оформления полностью кривое:

<!DOCTYPE html>

<html lang="en">

    <head>

        <meta charset="UTF-8" />

        <meta name="viewport" 

              content="width=device-width, initial-scale=1.0" />

        <title>Document</title>

    </head>

    <body>

<table cellpadding=0 cellspacing=0 border=0 width="95%" align=center>

<form method=post  enctype="multipart/form-data">

<tr>

<td>

<table cellpadding=4 cellspacing=0 border=0 width=100% class="tab">

<tr class="dats">

<td valign=middle nowrap><b>Название темы</b></td>

<td valign=middle nowrap><input class="tab" type=text name="intopictitle" style="width:450px" tabindex="1" size=40 maxlength=255  value=""></td>

</tr>

<tr class="dats">

<td class="tab_down" valign=middle><b>Описание темы</b></td>

<td class="tab_down" valign=middle><input class="tab" type=text name="intopicdescription" tabindex="2" style="width:450px" size=40 maxlength=160 value=""></td>

</tr>

</table>

</td>

</tr>

</table>

</td>

</tr>

<tr>

<td>

<table cellpadding=2 cellspacing=0 border=0 width=100% class="tab_left_right_down">

<tr class="dats">

<td valign=middle colspan=2 align=center height="22" >

<input class=tab type=Submit value=Отправить name="Submit" tabindex="4"> &nbsp; <input class=tab type="reset" name="Clear" tabindex="5">

</td>

</tr>

</table>

</td>

</tr>

</form>

</table>

    </body>

</html>


В консоли разработчика видно, как браузер ЯКОБЫ видит эту форму:

Если обратиться к ней через JavaScript то увидим, что форма пустая:

Всё логично и понятно.

Но вот если мы нажмём на отправить форму, то браузер БЕЗ проблем отправит форму с данными, как будто вёрстка валидная:

Получается отрисовка и формирование форм это вообще не зависимые вещи и работают по разным правилам. Тогда возникает вопрос, а есть вариант взять всё же форму через JS не взирая на вёрстку? 

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
LEOnidUKG
На сайте с 25.11.2006
Offline
1774
#1

Прокрутить можно через:

for (var pair of formData.entries()) {

console.log(pair[0] + ", " + pair[1]);

}

Я находил этот вариант, но там как я понял надо конкретно обращаться к элементам т.к. это отдельная система.

Буду пробовать что-то с этим придумать.

S3
На сайте с 29.03.2012
Offline
367
#2
Плевать js на вашу верстку. Он ищет элементы формы по name=„xxx” все остальное его не волнует
A2
На сайте с 04.08.2025
Offline
0
#3
LEOnidUKG :

Интересная есть задача. 

Имеется некая форма, вложенность её оформления полностью кривое:

<!DOCTYPE html>

<html lang="en">

  <head>

      <meta charset="UTF-8" />

      <meta name="viewport" 

            content="width=device-width, initial-scale=1.0" />

      <title>Document</title>

  </head>

  <body>

<table cellpadding=0 cellspacing=0 border=0 width="95%" align=center>

<form method=post  enctype="multipart/form-data">

<tr>

<td>

<table cellpadding=4 cellspacing=0 border=0 width=100% class="tab">

<tr class="dats">

<td valign=middle nowrap><b>Название темы</b></td>

<td valign=middle nowrap><input class="tab" type=text name="intopictitle" style="width:450px" tabindex="1" size=40 maxlength=255  value=""></td>

</tr>

<tr class="dats">

<td class="tab_down" valign=middle><b>Описание темы</b></td>

<td class="tab_down" valign=middle><input class="tab" type=text name="intopicdescription" tabindex="2" style="width:450px" size=40 maxlength=160 value=""></td>

</tr>

</table>

</td>

</tr>

</table>

</td>

</tr>

<tr>

<td>

<table cellpadding=2 cellspacing=0 border=0 width=100% class="tab_left_right_down">

<tr class="dats">

<td valign=middle colspan=2 align=center height="22" >

<input class=tab type=Submit value=Отправить name="Submit" tabindex="4"> &nbsp; <input class=tab type="reset" name="Clear" tabindex="5">

</td>

</tr>

</table>

</td>

</tr>

</form>

</table>

  </body>

</html>


В консоли разработчика видно, как браузер ЯКОБЫ видит эту форму:

Если обратиться к ней через JavaScript то увидим, что форма пустая:

Всё логично и понятно.

Но вот если мы нажмём на отправить форму, то браузер БЕЗ проблем отправит форму с данными, как будто вёрстка валидная:

Получается отрисовка и формирование форм это вообще не зависимые вещи и работают по разным правилам. Тогда возникает вопрос, а есть вариант взять всё же форму через JS не взирая на вёрстку? 

рекомендую брали консультацию, на все мои вопросы ответили, бонусом дали контакт человека, который делает вайты

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий