Donc, voici mon scénario, j'ai besoin d'avoir un nom d'entrée et ID deux choses différentes, mais le code ci-dessous ne permet que l'effet si label, id et nom tous ont la même valeur, par exemple le code suivant fonctionne très bien:Quelqu'un peut-il m'aider avec ce label jQuery infield pour les entrées de texte
<p>
<label for="eventid" class="label_login">*Participant Code</label><br />
<input type="text" name="eventid" value="" id="eventid" class="input_size"/>
</p>
Quand je change à la façon dont je besoin d'être il cesse complètement de travailler
exemple de la façon dont je besoin d'être:
<p>
<label for="eventid" class="label_login">*Participant Code</label><br />
<input type="text" name="eventid" value="" id="part_code" class="input_size"/>
</p>
Quelqu'un peut-il me dire où, dans le script jQuery ci-dessous, le nom, l'étiquette et l'ID doivent-ils correspondre? et comment puis-je supprimer le nom ou l'identifiant de cette exigence. Merci d'avance.
(function($){$.InFieldLabels=function(b,c,d){var f=this;f.$label=$(b);f.label=b;f.$field=$(c);f.field=c;f.$label.data("InFieldLabels",f);f.showing=true;f.init=function(){f.options=$.extend({},$.InFieldLabels.defaultOptions,d);if(f.$field.val()!=""){f.$label.hide();f.showing=false};f.$field.focus(function(){f.fadeOnFocus()}).blur(function(){f.checkForEmpty(true)}).bind('keydown.infieldlabel',function(e){f.hideOnChange(e)}).change(function(e){f.checkForEmpty()}).bind('onPropertyChange',function(){f.checkForEmpty()})};f.fadeOnFocus=function(){if(f.showing){f.setOpacity(f.options.fadeOpacity)}};f.setOpacity=function(a){f.$label.stop().animate({opacity:a},f.options.fadeDuration);f.showing=(a>0.0)};f.checkForEmpty=function(a){if(f.$field.val()==""){f.prepForShow();f.setOpacity(a?1.0:f.options.fadeOpacity)}else{f.setOpacity(0.0)}};f.prepForShow=function(e){if(!f.showing){f.$label.css({opacity:0.0}).show();f.$field.bind('keydown.infieldlabel',function(e){f.hideOnChange(e)})}};f.hideOnChange=function(e){if((e.keyCode==16)||(e.keyCode==9))return;if(f.showing){f.$label.hide();f.showing=false};f.$field.unbind('keydown.infieldlabel')};f.init()};$.InFieldLabels.defaultOptions={fadeOpacity:0.5,fadeDuration:300};$.fn.inFieldLabels=function(c){return this.each(function(){var a=$(this).attr('for');if(!a)return;var b=$("input#"+a+"[type='text'],"+"input#"+a+"[type='password'],"+"textarea#"+a);if(b.length==0)return;(new $.InFieldLabels(this,b[0],c))})}})(jQuery);
Le code d'extension que vous fournissez est une version réduite d'un fichier javascript de 130 lignes. Ce n'est pas vraiment utilisable pour quiconque veut aider. (J'ai ajouté un lien vers le code source complet.) –
Par ailleurs, c'est là que j'ai trouvé l'exemple dans lequel je l'ai pris, espérons que cela aide. http://fuelyourcoding.com/scripts/infield/ – NewB