Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Jquery et NiceJForms

2 réponses
Avatar
karpediem
Bonjour @ toutezéatous

Je me permets de vous solliciter car je rencontre un pb avec l'utilisation du plugin NiceJForms... Ce qui est étonnant c'est que j'ai fait des recherches sur le web et apparemment je dois être la seule dans le cyber-espace à rencontrer ce pb ;-((

Alors voila, lorsque je veux cocher une checkbox, elle ne se coche pas et firebug me signale l'erreur suivante :

nicejforms.js (ligne 350)
jQuery.NiceJForms.checkboxLabels[who] is undefined
else if(jQuery.NiceJForms.checkboxLabels[who].className == "") {

Ce qui me semble encore plus mystérieux, c'est que j'ai vu les démos qui fonctionnaient ;o))

Je dois avoir fait (ou ne pas avoir fait) quelque chose de fondamental, mais je ne vois pas quoi..;

Ma page est visible à cette adresse :
http://www.katiajarne.eu/innobilier/recherches_2.php

D'accord, c'est super mochetouillou, mais c'est en cours... En revanche, l'anim flash, c'est moi qui l'ai faite ;o))

Si quelqu'un ou quel qu'une avait une idée concernant mon pb, ce serait super chouette car ça éviterait que je m'arrache les cheveux qui me restent sur la tête !

Merci et excellente soirée @ toutezéatous

2 réponses

Avatar
SAM
Le 1/23/09 12:39 AM, karpediem a écrit :
Bonjour @ toutezéatous

Je me permets de vous solliciter car je rencontre un pb avec l'utilisation du
plugin NiceJForms... Ce qui est étonnant c'est que j'ai fait des recherches sur
le web et apparemment je dois être la seule dans le cyber-espace à rencontrer ce
pb ;-((

Alors voila, lorsque je veux cocher une checkbox, elle ne se coche pas et
firebug me signale l'erreur suivante :

nicejforms.js (ligne 350)
jQuery.NiceJForms.checkboxLabels[who] is undefined



moi j'y comprends rien à ces biblis mais ...

checkboxLabels : pour moi le truc cherche le label d'une checkbox

pour ensuite lui changer sa class

As-tu un label pour ta checkbox ?

Ben oui elle a (parmi le schmilliblbl'hic' )

<label for="piece[]">1 pièce</label>
<br>
<div style="margin: 1px; left: -3000px; top: 234px;"
id="myCheckbox3" class="checkboxArea"></div><input class="outtaHere"
name="piece[]" value="2" type="checkbox">


Alors là pour du pas futé hein !

<label for= <--- là il faut le nom d'un ID (un ID !)

et que voit-on ?

<input class="outtaHere" name="piece[]" value="2" type="checkbox">

qui n'a pas d'ID ...

Maintenant, comme je n'y connais rien en jquery ...
peut-être as-tu su lui dire quel checkbox tu voulais quand tu as fait
*plusieurs* fois :

<label for="piece[]"> ... <input name="piece[]" type="checkbox" ...
<label for="piece[]"> ... <input name="piece[]" type="checkbox" ...
<label for="piece[]"> ... <input name="piece[]" type="checkbox" ...
<label for="piece[]"> ... <input name="piece[]" type="checkbox" ...

au lieu de (par exemple) :

<label for="c_01"> ... <input id="c_01" name="piece[]" type="checkbox"
<label for="c_02"> ... <input id="c_02" name="piece[]" type="checkbox"
<label for="c_03"> ... <input id="c_03" name="piece[]" type="checkbox"
<label for="c_04"> ... <input id="c_04" name="piece[]" type="checkbox"



Hou que c'est vilain ça : <div style="left: -3000px;
C'est l'bazar à nicejforms qui veut ça ?

Oui? alors pourquoi la checkbox n'est pas dans le div ?
(qui lui, au moins, a un ID)
(et une class significative pour jquery)
ou bien ne sert-il qu'à recouvrir la checkbox ?
Ha? oui ... tien?

Bon, dans le "build" je vois :
if(labelFor == $(this).attr("id"))
Alors ... ne faut-il pas prévoir des IDs (différents) pour chaque
élément du form ?

D'ailleurs il est bien précisé :
"One of the important aspects of the script is that it requires
a correctly coded form,
^^^^^^^^^^^^^^^^^^^^^^
including properly declared labels and values.
^^^^^^^^ ^^^^^^
There’s not much room for error and, if anything, it will force you to
code your forms correctly."


--
sm
Avatar
karpediem63
> As-tu un label pour ta checkbox ?

Ben oui elle a (parmi le schmilliblbl'hic' )

<label for="piece[]">1 pièce</label>
           <br>
           <div style="margin: 1px; left: -3000px; top: 234 px;"
id="myCheckbox3" class="checkboxArea"></div><input class="outtaHere "
name="piece[]" value="2" type="checkbox">

Alors là pour du pas futé hein !



C'est de moi que tu parles ;o?


<label for=  <--- là il faut le nom d'un ID (un ID !)

et que voit-on ?

<input class="outtaHere" name="piece[]" value="2" type="checkbox" >

qui n'a pas d'ID ...

Maintenant, comme je n'y connais rien en jquery ...
peut-être as-tu su lui dire quel checkbox tu voulais quand tu as fait
*plusieurs* fois :

<label for="piece[]"> ... <input name="piece[]" type="checkbox" ...
<label for="piece[]"> ... <input name="piece[]" type="checkbox" ...
<label for="piece[]"> ... <input name="piece[]" type="checkbox" ...
<label for="piece[]"> ... <input name="piece[]" type="checkbox" ...

au lieu de (par exemple) :

<label for="c_01"> ... <input id="c_01" name="piece[]" type="chec kbox"
<label for="c_02"> ... <input id="c_02" name="piece[]" type="chec kbox"
<label for="c_03"> ... <input id="c_03" name="piece[]" type="chec kbox"
<label for="c_04"> ... <input id="c_04" name="piece[]" type="chec kbox"

Hou que c'est vilain ça :  <div style="left: -3000px;
C'est l'bazar à nicejforms qui veut ça ?



ça c'est effectivement du nicejforms... ce qui veut dire que si tu
n'as pas activé javascript, tu ne voit même pas tes checkbox
normalement ;o((


Oui? alors pourquoi la checkbox n'est pas dans le div ?
(qui lui, au moins, a un ID)
(et une class significative pour jquery)
ou bien ne sert-il qu'à recouvrir la checkbox ?
Ha? oui ... tien?



Oui, ça recouvre la checkbox avec une belle image d'une case checkée
en couleur...


Bon, dans le "build" je vois :
                                if(labelF or == $(this).attr("id"))
Alors ... ne faut-il pas prévoir des IDs (différents) pour chaque
élément du form ?



C'est bizarre, avec les IDs définis comme tu le suggères, ça
fonctionne nettement mieux !!

A croire qu'effectivement c'est moi qui ne suis pas bien futée ;o))


D'ailleurs il est bien précisé :
"One of the important aspects of the script is that it requires
a correctly coded form,
^^^^^^^^^^^^^^^^^^^^^^
including properly declared labels and values.
           ^^^^^^^^          ^^^^^^
There’s not much room for error and, if anything, it will force you to
code your forms correctly."



Ah, la langue de Shakespeare ;o))

C'est pourtant clair, ya ka lire et à appliquer ! ça me servira de
leçon pour la prochaine fois ;o)

Je me doutais bien que j'allais avoir la honte avec ma question... Je
n'ai plus qu'à me terrer profondément dans un trou et attendre que
tout le monde m'oublie ;o)

--
sm



Encore un grand MERCI pour ta perspicacité et ton oeil de lynx à qui
rien n'échappe !

MERCI !!