J'ai donc ce problème avec les formulaires générés par Zend Framework.Formulaires de structure Zend et sélecteurs jQuery - comment sélectionner par ... ID?
Comme nous le savons Zend utilise ce format pour l'identification d'éléments HTML, i.e.: contactDetails[name]
, contactDetails[email]
etc.
Tout d'abord, pourquoi Zend utilise invalide HTML pour générer des formes? Il devrait y avoir pas de crochets []
à l'intérieur ids, selon W3C:
jetons d'identité et le nom doit commencer par une lettre ([A-Za-z]) et peut être suivi par un certain nombre de lettres, chiffres ([0-9]), tirets ("-"), souligne ("_"), les deux-points (":"), et les périodes (".").
Mais la vraie question que j'ai est comment sélectionner correctement l'élément par id en utilisant jQuery, si nous devons traiter non valide, Zend généré ids? En standard, cela semble fonctionner: document.getElementById('contactDetails[email]')
.
Mais dans jQuery: $('#contactDetails[email]')
- cela est évidemment faux, car les crochets sont réservés aux sélecteurs d'attribut.
La solution de contournement facile que j'ai trouvé est d'enrouler l'objet natif-js-sélectionné dans la fonction $(): $(document.getElementById('contactDetails[email]'))
. En utilisant cette méthode, je peux utiliser toutes les fonctions jQuery sur cet objet, mais cela ressemble à une solution hacky ...?
Je viens d'essayer, et ça n'a pas – rochal
@rochal - j'avais d'abord que mettre un backslash S'il vous plaît copier et coller ci-dessus et faites un essai – karim79
double slash travaillé parfaitement, merci beaucoup – rochal