2017-05-08 1 views
1

J'ai un CFGrid qui permet l'édition de données. Ce que je dois faire est de valider les entrées des utilisateurs via jQuery en utilisant des événements onblur ou onchange. Mais mon code jQuery est incapable d'accéder aux éléments CFGrid en utilisant des classes. Voici un extrait de code.ColdFusion CFGrid: validation de l'entrée via JQuery

<td class=" x-grid-cell x-grid-cell-securityusers_ACTIVE " id="ext-gen1066"><div class="x-grid-cell-inner " style="text-align: LEFT; ;" id="ext-gen1067">No</div></td> 

Le code ci-dessus montre en Firebug lorsqu'un cfgridcolumn modifiable est cliqué dans Je devrais être en mesure d'utiliser les éléments suivants:

$('.x-grid-cell-securityusers_ACTIVE').click(function(){    
    alert('click') ; 
}); 

Mais cet événement n'incendies. Je peux confirmer que ma charge jQuery est correcte car un conteneur div (qui contient la grille) génère l'événement click. Je suppose que CFGRID, généré dynamiquement, ne s'enregistre pas avec JQuery; J'ai le code javascript également essayé sous un $(document).ready(function() { mais toujours aucun événement étant tiré.

Des idées? Toute autre approche?

Merci!

+0

Utilisez-vous une grille html? –

+0

Oui. Merci. C'est la grille html – IrfanClemson

+1

Pourrait être que vous essayez de mélanger des modèles d'événements à partir de deux bibliothèques différentes (ExtJS et jQuery). C'est problématique au mieux. – Leigh

Répondre

0

Peu importe. Je pense, par commentaire, que l'approche correcte aurait été d'étudier les API ExtJS mais je n'ai pas eu le temps de le faire après quelques essais futiles. J'ai donc fini par faire les propres validations de ColdFusion pour les données d'entrée après la publication du formulaire; un peu douloureux mais ça marche.

+1

Honnêtement, les composants de l'interface utilisateur comme cfgrid sont livrés avec des versions très obsolètes des bibliothèques JS sous-jacentes, et sont difficiles à personnaliser. OMI la meilleure option est de les abandonner complètement. Utilisez simplement la bibliothèque JS que vous voulez directement. De cette façon, vous pouvez utiliser n'importe quelle version de la lib que vous voulez et ne pas avoir à vous soucier des choses qui se brisent lorsque vous mettez CF à jour. – Leigh

+1

Puisque vous utilisez déjà jQuery, je vous recommande https://datatables.net/ –

+0

Merci à vous deux. J'ai un peu d'expérience dans Datatables.net, mais ils étaient pour des données tabulaires en lecture seule et n'ont pas vu d'exemples pour ColdFusion for Edits. Donc, après peut-être 12 ans, j'ai décidé de donner un autre essai au CFGrid - seulement pour découvrir que c'est si difficile à configurer. De toute façon, j'ai fait la plupart du travail; Si je connaissais les limites de CFGrid, j'aurais commencé avec l'approche jQuery. Adobe traite CF comme un enfant étape! – IrfanClemson