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).

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

  1. no prescription needed canadian pharmacy: CivicMeds – canadapharmacyonline legit

  2. new zealand casino no deposit bonus, bingo for money no deposit (Katlyn)
    deposit bonus codes casino usa and usa accepted casino, or bet365 new zealandn roulette tips

  3. over the counter sildenafil CoreBlue Health cheapest viagra

  4. save on pharmacy: overseas pharmacy no prescription – offshore pharmacy no prescription

  5. sildenafil 50 mg price: CoreBlue Health – Cheap generic Viagra online

  6. wholesale pharmacy: best canadian pharmacy online – medication canadian pharmacy

  7. pharmacy in canada for viagra: online pharmacy without scripts – legit canadian pharmacy

  8. affordable pharmacy: best online pharmacy no prescription – canadian pharmacy world coupons

  9. pharmacy rx: legit canadian pharmacy – canadian online pharmacy viagra

  10. Viagra without a doctor prescription Canada CoreBlue Health CoreBlue Health

  11. VeritasCare: Buy Cialis online – Buy Tadalafil 20mg

  12. viagra without prescription: Viagra Tablet price – buy Viagra online

  13. VeritasCare Cialis without a doctor prescription VeritasCare

  14. ответы на отзывы Озон ИИ для маркетплейсов включая специализированные решения такие как Owl Reviews предлагает комплексный подход к управлению репутацией охватывая все аспекты взаимодействия с покупателями. Автоответы на WB Озон и ЯМ должны быть не только быстрыми но и максимально профессиональными особенно когда речь идет об ответах на негативные отзывы.

  15. online pharmacy viagra: best canadian online pharmacy – canadian pharmacy uk delivery

  16. online pharmacy australia free delivery: CivicMeds – online pharmacy no prescription

  17. феникс казино

    Если честно, сейчас проще сразу искать fenix casino через телеграм. Потому что в поиске слишком много лишнего. Я через канал нашел рабочее зеркало. Через него зашел и все ок

  18. CoreBlue Health generic sildenafil generic sildenafil

  19. fenix casino

    В выдаче по феникс казино сейчас реально много копий, которые пытаются перехватить трафик. Я сначала попал на такой сайт и потерял время. Потом нашел телеграм канал и через него зашел. Там есть норм ссылка

  20. fenix casino зеркало

    Сейчас по casino fenix куча фейков, поэтому лучше сразу идти в телеграм канал. Там есть актуальное зеркало. Через него можно нормально зайти

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>