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

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

  1. eva casino бонусы Если интересен eva casino обзор могу сказать — проект рабочий.

  2. Generic Viagra online Cheap generic Viagra online Sildenafil Citrate Tablets 100mg

  3. vipps approved canadian online pharmacy: US Pharma Index – online pharmacy birth control pills

  4. buy Viagra over the counter: buy Viagra online – Viagra online price

  5. как начать майнить Крипта майнинг аирдропы и тапалки — всё самое свежее в Smart Money Crypto Зарабатывай на криптоиграх и фармилках прямо в Telegram. Пассивный доход с удовольствием и без вложений Заходи и забирай свою прибыль. ИЛИ Ищешь где заработать на крипте? Smart Money Crypto Новости криптоигры с выводом актуальные аирдропы и майнинг на телефоне. Тапалки и фармилки в Telegram для твоего пассивного дохода. Присоединяйся к команде Smart Money

  6. mafia casino Decouvrez Mafia Casino avis 2026 : site officiel avec connexion securisee bonus exclusifs milliers de jeux et retraits rapides. Inscrivez-vous des maintenant

  7. sildenafil online: Sildenafil Price Guide – Cheap generic Viagra online

  8. US Pharma Index: online pharmacy meds – US Pharma Index

  9. Thank you Ive recently been searching for information approximately this subject for ages and yours is the greatest I have discovered so far. But what about the bottom line? Are you positive concerning the source? https://share.google/BLybGGqMJU9It8mki

  10. Explore detailed insights on bulova quartz alarm clocks at TOPCLOCKS including features comparisons and expert recommendations for smarter buying decisions.

  11. ivermectin 250ml cost of ivermectin 1 cream ivermectin pills

  12. Explore detailed insights on howard miller original wall clocks at TOPCLOCKS including features comparisons and expert recommendations for smarter buying decisions.

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>