je veux stocker le formulaire sur client, dans json dans cookie, après que désérialiser le formulaire. ce que je fais:sérialiser formulaire à json et stocker dans le cookie
sérialisation JSON:
function formToJSON(selector) {
var form = {};
$(selector).find(':input[name]:enabled').each(function() {
var self = $(this);
var name = self.attr('name');
if (name.indexOf('TextBox', 0) == 0) {
if (form[name]) {
form[name] = form[name] + ',' + self.val();
}
else {
form[name] = self.val();
}
}
});
return form;
}
alors sur la forme change, je suis en train d'enregistrer sous forme de cookie:
$('#form1 :input').change(function() {
var eba = formToJSON($('#form1'));
$.cookie.set('fo', eba, {json:true});
var a = $.cookie.get('fo',true);
alert(a);
//$.cookie.set('form123', { "ksf": "saf", "tt": "" }, { json: true });
//var b = $.cookie.get('form123', true);
//alert(JSON.stringify(b));
});
Débogueur - eba est JSON objet, mais alert (a) donne null. le code commenté fonctionne, ce json sérialisé, et je le gettin à partir de cookies. mais pourquoi le code ne fonctionne pas pour la forme ??? plug-in cookie pris de jquery.com
Deux problèmes que je vois immédiatement: le premier sélecteur ne devrait pas avoir ':' au début, et vous pouvez également ignorer le bit '[nom]'. Deuxièmement, quand vous appelez 'formToJSON' vous n'avez besoin de passer qu'une chaîne, bien que cette dernière ne va pas causer de problème (c'est juste inefficace). – sje397