Как HTML формулярът знае коя опция за избор е избрана?

Опитвам се да разбера как стандартът за HTML формуляр работи във връзка с полетата за избор. И въпросът е как HTML формулярът знае коя стойност има полето за избор като избрана стойност, за да я изпрати, когато формулярът бъде изпратен. Проверявам формуляр с инструменти за разработчици и не виждам нищо променено, когато променя избраната опция в полето за избор.

Това е чисто HTML въпрос и трябва да е доста основен за тези, които познават добре HTML стандарта. Обърнете внимание, че не искам JavaScript отговор за това как да получа избраната опция. Задавам въпрос, за да разбера как HTML формата знае коя от опциите е избрана.

Ако имате и насоки към някаква документация, това ще бъде много оценено.


person p.matsinopoulos    schedule 15.05.2018    source източник


Отговори (1)


Бихте могли да зададете същия въпрос за това как формуляр знае, че има отметка в квадратчето или какъв текст е въведен в полето за въвеждане. HTML за уеб страница се анализира в DOM (документен обектен модел), а зад кулисите има обекти, представляващи DOM елементи. Тези обекти, наред с други неща, запазват информация за състоянието на DOM елементи като избрани опции и поставяне на отметки в квадратчета.

Тези състояния не се показват само при преглед на изходния код на уеб страница или непременно дори при използване на инструмент за проверка. Но информацията е там в DOM, за да може браузърът да се сглоби в HTTP заявката, която се генерира, когато изпратите формуляр.

person kshetline    schedule 15.05.2018
comment
+1 точка: в случай че искате да видите как се управлява състоянието, отидете на свойствата на този елемент и вижте, че трябва да има някакъв елемент, който има състоянието на елемента. Например: всяка ‹опция› има булево състояние selected като свойство. Подобно на други тагове, има различни свързани свойства, които могат да бъдат изследвани чрез инструменти за разработчици. - person vishwarajanand; 15.05.2018
comment
@Vishwaraj Anand, ето защо защитих малко формулировката си, като казах задължително дори -- помислих си, че може би някъде, ако потърся, може да намеря инструменти за това. Но когато инспектирах елемент <select> с помощта на вградените инструменти на Firefox или Chrome, не можах да видя нищо, което да показва коя опция е избрана, освен ако не е имало активен JavaScript, променящ класове от елементи, когато е направен избор. - person kshetline; 15.05.2018