Je travaille en utilisant la bibliothèque scriptaculous. Cependant, je suis confronté à quelques problèmes avec l'inclusion de la bibliothèque JSON pour la bibliothèque prototype. Il ajoute une méthode toJSONSTring et parseJSONSTRING à tous les objets automatiquement et franchement cela provoque des ravages à certains endroits. Comme je n'arrive pas à utiliser la fonction Ajax Updater et je suppose que c'est à cause de cette méthode toJSONSTring qui a été attachée à mon objet options que je lui passe. Y at-il un moyen de désactiver ou d'au moins supprimer une fonction qui a été ajoutée à l'objet.Ajax ne tire pas sur le prototype - Je pense que j'ai besoin de désactiver ou de supprimer une méthode javascript - causant des ravages!
EDIT :::
En fait, je suis en train de faire une demande de paiement ajax et je suis face à un problème dans la
Ajax.Updater = Class.create(Ajax.Request,....
partie de la bibliothèque prototype. A la partie où son supposé exécuter et poster une requête AJAX, il ne fonctionne pas - en particulier à:
$super(url, options);
Pour être plus précis que je utilise cette grille de table triables et modifiable ici à cette adresse: http://cloud.millstream.com.au/millstream.com.au/upload/code/tablekit/index.html
Fondamentalement, vous cliquez sur une cellule de tableau pour l'éditer et appuyez sur le bouton OK pour confirmer. En cliquant sur le bouton une requête ajax est faite.
La fonction modifiable de la table appelle l'Ajax updater comme suit dans une fonction d'envoi:
submit : function(cell, form) {
var op = this.options;
form = form ? form : cell.down('form');
var head = $(TableKit.getHeaderCells(null, cell)[TableKit.getCellIndex(cell)]);
var row = cell.up('tr');
var table = cell.up('table');
var ss = '&row=' + (TableKit.getRowIndex(row)+1) + '&cell=' + (TableKit.getCellIndex(cell)+1) + '&id=' + row.id + '&field=' + head.id + '&' + Form.serialize(form);
this.ajax = new Ajax.Updater(cell, op.ajaxURI || TableKit.option('editAjaxURI', table.id)[0], Object.extend(op.ajaxOptions || TableKit.option('editAjaxOptions', table.id)[0], {
postBody : ss,
onComplete : function() {
var data = TableKit.getCellData(cell);
data.active = false;
data.refresh = true; // mark cell cache for refreshing, in case cell contents has changed and sorting is applied
}
}));
},
Le problème est que la demande ne se fait jamais et je continuer à pousser le bouton OK en vain.
EDIT ::::::::::::::::
Je suis toujours perplexe ici - j'ai même essayé d'appeler la fonction Ajax.Updater moi-même et il a gagné » t travail du tout. C'est comme si cette fonction était officiellement rendue tout à coup inutile. J'ai fait les changements que vous avez dit, mais en vain: (Franchement, je suis à court d'options ici - une autre idée serait de laisser tomber cette table et chercher quelque chose d'autre qui a des fonctionnalités similaires dans l'espoir que cela puisse fonctionner!
RIghto - vérifier la mise à jour s'il vous plaît – Ali
Ne pas aucune différence :(idées – Ali
Désolé que ça n'a pas I. Je vous suggère de descendre dans les objets que vous passez à Ajax.Updater avec firebug ou quelque chose comme ça ... Je pense toujours que Updater étouffe sur quelque chose que vous lui passez parce que je l'ai utilisé avec scriptaculous et n'ai eu aucun problème. Je ne peux pas vous aider beaucoup parce que je ne peux pas voir assez. –