Форум программистов, компьютерный форум, киберфорум
HTML, CSS
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
 Аватар для CyberPaladin
18 / 16 / 8
Регистрация: 27.05.2017
Сообщений: 118

Зачем скрывать все поля формы без кнопки отправки данных

15.10.2019, 13:34. Показов 1060. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
День добрый, господа форумчане!
Прошу помощи объяснить странный код!

Я тут анализирую исходный код одного сайта интернет-магазина, и наткнулся на такое непонятное, как для меня, решение.
А именно, вот, в следующем фрагменте кода(внутри body в секции хедера), видим форму отправки данный(тег <form>) и внутри него все элементы с типом hidden, и нет кнопки отправки, да и еще все смещено за пределы страницы!

Вот фрагмент:
HTML5
1
<form action="/ru/cart/cart" target="cartframe" method="POST" name="cartform" style="width:1px;height:1px;border:none; position:absolute;left:-9999;" id="cartform"><input type="hidden" name="iframe" value="1"><input type="hidden" name="action" value="addItem"><input type="hidden" name="id" value=""><input type="hidden" name="pos" value=""><input type="hidden" name="color" value=""><input type="hidden" name="st_ot" value=""><input type="hidden" name="quantity" value="1"><input type="hidden" name="discount" value="0"></form>
И вопрос в том ЗАЧЕМ И ЧТО МОЖЕТ ДЕЛАТЬ ЭТОТ КОД?? Лично я понял что это некая служебная информация отправляется на сервер, но непонятно как она работает если нету кнопки отправки... автоматически? Но зачем так сделано, без понятия?
Объясните непонимающему!


Вот весь код шапки кому интересно:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<body>
    <!-- Google Tag Manager (noscript) --><noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-MV889PP" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript><!-- End Google Tag Manager (noscript) --><iframe name="cartframe" class="hidden"></iframe>
    <form action="/ru/cart/cart" target="cartframe" method="POST" name="cartform" style="width:1px;height:1px;border:none; position:absolute;left:-9999;" id="cartform"><input type="hidden" name="iframe" value="1"><input type="hidden" name="action" value="addItem"><input type="hidden" name="id" value=""><input type="hidden" name="pos" value=""><input type="hidden" name="color" value=""><input type="hidden" name="st_ot" value=""><input type="hidden" name="quantity" value="1"><input type="hidden" name="discount" value="0"></form><!--    topline -->
    <div class="toplineBox">
        <div class="topline">
            <div class="row_menu center">
                <div class="top_menu"><a href="/ru/fotogalereya/" class="h-menu">Фотогалерея</a><a href="/ru/o_nas/">О нас</a><a href="/ru/ustanovka_dverey/">Установка дверей</a><a href="/ru/oplata_i_dostavka/">Оплата и доставка</a><a href="/ru/novosti/" class="h-menu">Новости</a><a href="/ru/statyi/" class="h-menu">Статьи</a><a href="/ru/contacts/">Контакты</a>
                    <form action="/ru/search/" method="GET" class="srch h-menu"><input type="text" id="searchq" name="q" value="Поиск" onFocus="this.value='';"><button type="submit"></button></form>
                </div>
            </div>
        </div>
    </div><!--  /topline    -->
    <div id="aligner">
        <!--    TOP  -->
        <div class="top_head">
            <div class="logo block"><a><img src="/i/logo.png" width="198" height="145" class="b0" alt="Дверной Дом"></a></div>
            <div class="toptels1 block"><img src="/i/phTels.png" width="234" height="24" class="b0" alt="Мы ждем Вашего звонка"><br>+380 44 227 54 74<br>+380 97 820 52 32<br><small>Пн - пт: 09:00 - 18:00<br>Сб: 10:00 - 15:00 </small></div>
            <div class="toptels2 block"><a href="javascript:void()" onClick="$('#callB').show('slow');" class="btnCallback"></a>
                <!--Form-->
                <div class="posrel">
                    <div id="callB" class="zPopUp" style="left:0px;">
                        <div id="form1" class="contForm">
                            <form id="callback_callback1">
                                <table class="cp5cs1">
                                    <tr>
                                        <td>Заказать обратный звонок <a href="#" onClick="$('#callB').hide('slow'); $('#callB2').hide('slow');" class="close"></a></td>
                                    </tr>
                                    <tr>
                                        <td><input type="hidden" value=" - Главная" name="part_name" id="part_name"></td>
                                    </tr>
                                    <tr>
                                        <td><input type="text" name="uname" id="name_callback1" value="Ваше имя" onFocus="if(this.value=='Ваше имя') this.value='';" onblur="if(this.value=='') this.value='Ваше имя'"></td>
                                    </tr>
                                    <tr>
                                        <td><input type="text" name="phone" id="phone_callback1" value="Ваш телефон" onFocus="this.value='';" onblur="if(this.value=='') this.value='Ваш телефон'"></td>
                                    </tr>
                                    <tr>
                                        <td><span class="">Антиспам: 3 + 1</span>&nbsp;&nbsp;&nbsp;<input type="text" name="fask" id="fask_callback1" value="" onFocus="this.value='';"></td>
                                    </tr>
                                    <tr>
                                        <td class="tac"><input type="submit" class="btnSendZ" value="Отправить заявку" onclick="if(!form_sbmt('callback1')) return false;" id="callbackBtn"></td>
                                    </tr>
                                </table>
                            </form>
                        </div>
                    </div>
                    <!--/Form-->
                </div>+380 93 475 64 25<br>+380 66 705 06 76<br>
            </div>
            <div class="cartPrev block" id="cartq"><img src="/i/phCart.png" width="157" height="23" class="b0" alt="Корзина товаров"><br class="dispnone"><span>товары не выбраны</span>
                <br class="clb">
                <span id="compq">
                    <a class="compareIcon">Товаров в сравнении: 0</a>
                </span>
                <br class="clb">
            </div><br class="clb">
        </div>
</body>
И что самое удивительное я очень часто вижу подобные вещи на страницах интернет-магазинов!

Вот так, обычно, выглядит этот код в браузере(со всеми стилями):
Миниатюры
Зачем скрывать все поля формы без кнопки отправки данных  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.10.2019, 13:34
Ответы с готовыми решениями:

Значение текстового поля без отправки данных и js
Здравствуйте. У меня есть вот такой код: $count = 1; echo &quot; &lt;input type='text' name='count' value='&quot;.$count.&quot;'&gt;; если я введу...

Как можно взять значение контрола без отправки данных формы на сервер?
Читал что в пхп когда одна переменная присваивается другой, то они начинают ссылаться на одно и то же место в памяти. А если написать...

сегодня наконец то понял что такое КЛАСС, и ОБЪЕКТ. понято всё, кроме одного - зачем всё это? в смысле, можно же без этого? так зачем жизнь усложнять?
сегодня наконец то понял что такое КЛАСС, и ОБЪЕКТ. понято всё, кроме одного - зачем всё это? в смысле, можно же без этого? так зачем жизнь...

2
 Аватар для esculap_ra
462 / 265 / 55
Регистрация: 22.08.2010
Сообщений: 1,204
Записей в блоге: 4
15.10.2019, 15:28
Цитата Сообщение от CyberPaladin Посмотреть сообщение
Я тут анализирую исходный код одного сайта интернет-магазина, и наткнулся на такое непонятное, как для меня, решение.
А именно, вот, в следующем фрагменте кода(внутри body в секции хедера), видим форму отправки данный(тег <form>) и внутри него все элементы с типом hidden, и нет кнопки отправки, да и еще все смещено за пределы страницы!
Вариант 1 - сайт на этапе разработки
Вариант 2 - форма скрыта от незарегистрированного гостя
Вариант 3 - форма станет видимой при оформлении заказа (тупо, но и это не следует сбрасывать со счетов)
0
 Аватар для CyberPaladin
18 / 16 / 8
Регистрация: 27.05.2017
Сообщений: 118
15.10.2019, 15:38  [ТС]
esculap_ra, спасибо за варианты, первый вариант отпадает ибо сайт готовый. А вот на счет второго и третьего надо проверить!
То есть, я так понял исходя из ваших вариантов, элементы hidden динамически меняются на другие(типо input, buttton, text) где-то в скриптах, если выполняется условие авторизации на сайте или оформление заказа.

А то у меня вообще были подозрения, что таким образом сайт скрытно получает некие пользовательские данные, когда тот заходит на сайт
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.10.2019, 15:38
Помогаю со студенческими работами здесь

Отправка данных из Формы без нажатия кнопки
Как такое устроить ? Чтобы человек ввёл данные подождал две секунды и данные отправились автоматически И ещё можно ли эти данные вернуть...

AJAX отправка данных из формы без нажатия кнопки submit
Здравствуйте, подскажите пожалуйста как отправить запрос AJAX без использования кнопки submit. То есть например человек выбрал из...

Стилизация кнопки отправки формы
Вот есть 2 кнопки, одна пересылает по ссылке и имеет класс CSS(вроде так оно называется), в общем у неё картинка вместо кнопки, и она...

Очистка поля формы, после отправки
Здравствуйте! Необходимо сделать очистку поля формы, после отправки... Знаю, что можно сделать таким образом:...

Отправки формы с изображением вместо кнопки
Как сделать так чтоб отправить изображения как кнопку Submit? &lt;form action=&quot;index.php&quot; method=&quot;POST&quot;&gt; &lt;input...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru