jQuery plugin to associate label “for” attribute with form controls that have dynamic id’s

For whatever reason, you can’t associate your labels with your form controls implicitly by wrapping both the label text and the control in a <label> element:

<label>
  Email address: <input type="email" name="email" value="" placeholder="you@example.com"/>
</label>

You’ve had to explicitly state the form control you want the label to be associated with:

<label for="email">Email address:</label>
<input id="email" type="email" name="email" value="" placeholder="you@example.com"/>

…but your framework has other ideas, it decides to commandeer your precious “id” attribute and change it from a simple and beautiful “email” into a junky “dnn_ctr1163_RegistrationForm_email”. *cough* DotNetNuke *cough*, but also *cough* Wicket *cough* and probably a whole load of others.

The problem is now that your label is no longer associated with your form control, and there isn’t a simple fix, like, for example, change the for attribute to read “dnn_ctr1163_RegistrationForm_email”, because the numbers in the id change each time you refresh the page. The ID is dynamic, and you are receiving accessibility black stars.

So, luckily I noticed that often the id will change, but the framework will leave your originally intended id somewhere in there. I’ve written a jQuery plugin to look at label for attributes and try to find the form control you intended to associate it with before your server side framework so rudely changed it.

How to use

  1. Download the plugin and add it to your page
  2. Select the labels you want to re-associate and call the function eg. $(‘label’).fuzzyFor();

TODO

The plugin finds matches by looking for input, select and textarea elements in the document and checking to see if the for attribute in your label element appears in the id attribute of the form control. At the moment if more than one match is found, it just uses the first (which is probably good enough for most). However, it should probably do something a bit more clever and use the form control that is closest to the label (I’m reasoning that you normally put your label’s close to your controls).

14,471 thoughts on “jQuery plugin to associate label “for” attribute with form controls that have dynamic id’s

  1. Капитальный ремонт Заказать ремонт квартиры в Самаре

  2. indian pharmacies safe: Flexi Meds India – best rx pharmacy online

  3. MexiCare Direct: mexican pharmacy near me – MexiCare Direct

  4. indian pharmacy paypal: Flexi Meds India – medstore online pharmacy

  5. там

    Недавно искал apex casino после очередной блокировки старого домена. Через telegram получилось быстро найти актуальное зеркало и сразу зайти на сайт. Пока все открывается без ошибок

  6. https://t.me/apex_casino_ru

    Если нужен apex casino без блокировок и проблем со входом, лучше сразу использовать их telegram-канал. Там регулярно обновляют рабочие зеркала и ссылки для входа. Я уже несколько раз заходил через него — все открывается нормально

  7. pharmacy website india: Flexi Meds India – medicine online

  8. тут

    Если нужен apex casino без блокировок и проблем со входом, лучше сразу использовать их telegram-канал. Там регулярно обновляют рабочие зеркала и ссылки для входа. Я уже несколько раз заходил через него — все открывается нормально

  9. apex casino

    Недавно смотрел разные telegram-каналы казино и наткнулся на Apex Casino. Канал оказался активным, а все ссылки внутри рабочими. Через него получилось быстро зайти даже после блокировки основного домена

  10. перейти

    Если кто ищет apex casino telegram с актуальными зеркалами, этот вариант стоит сохранить. Я тестировал ссылки несколько дней подряд — доступ работает стабильно и без лагов

  11. Easy North RX: canadian pharmacies comparison – Easy North RX

  12. https://t.me/apex_casino_ru

    Недавно искал apex casino после очередной блокировки старого домена. Через telegram получилось быстро найти актуальное зеркало и сразу зайти на сайт. Пока все открывается без ошибок

  13. Online medicine order: Flexi Meds India – pharmacy websites

  14. Качественный монтаж сайдинга в Молодечно — залог долговечности дома. Сделаем отливы под углом закрытые стыки вентзазоры. Не боимся холодных чердаков и мансард. Опыт — более 10 лет. обшивка дома сайдингом молодечно

  15. farmacia mexicana en linea: MexiCare Direct – buying prescriptions in mexico

  16. MexiCare Direct: online mexican pharmacies – MexiCare Direct

  17. apex casino

    Недавно понадобился вход в Апекс Казино после блокировки старого домена. Через официальный канал Apex Casino получилось быстро найти новый рабочий адрес. Все ссылки внутри оказались актуальными и без редиректов

  18. там

    Когда понадобилось рабочее зеркало Апекс Казино, сначала попадались старые и неактуальные ссылки. Потом нашел официальный telegram Apex Casino и через него спокойно зашел без ошибок. Сейчас пользуюсь именно этим способом

  19. трансы воронеж трансы воронеж

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>