08-07-2008, 12:02 AM
(Modification du message : 08-07-2008, 02:08 PM par Sephi-Chan.)
[jQuery] Mémoriser les champs de formulaire
Bonjour à tous,Je vais vous présenter un script qui vous permettra, à l'aide de Javascript (et, en l'occurrence, de jQuery), d'améliorer le confort d'utilisation de vos pages. Ce script très simple permet en effet de conserver dans des cookies la valeur des champs (que l'on choisit) de texte d'un site.
Note : Je ne suis pas l'auteur de ce script. Je l'ai trouvé au hasard de mes promenades sur le Web. Je l'ai simplement remis en forme et commenté pour en expliquer le fonctionnement.
Script
Code PHP :
<?php
function saveField(selector){
$(selector).each(function(){
/*
* Si un élément ayant le même attribut name est enregistré
* dans un cookie, on lui affecte la valeur de ce dernier.
*/
var name = $(this).attr('name');
if($.cookie(name)){
$(this).val($.cookie(name));
}
/*
* On sauvegarde un cookie portant le nom du champ
* et sa valeur dès que celui-ci est modifié.
*/
$(this).change(function(){
$.cookie(
name,
$(this).val(),
{
path: '/',
expires: 365
}
);
});
});
}
Pour utiliser le script, il suffit alors d'inclure le fichier Javascript contenant cette fonction, puis d'appeler la fonction pour chaque champ que l'on souhaite conserver en mémoire.
Il est également nécessaire d'avoir inclus la librairie jQuery et son plugin jquery.cookie.js.
Exemple d'utilisation
L'exemple suivant permettra de mémoriser le contenu du champ de texte portant le nom username. Notons que si l'on utilise ce fragment de code sur la page d'inscription et de connexion (en supposant que le champ username existe dans ces deux pages), la même valeur sera utilisée, c'est là tout l'intérêt de la technique.
Code PHP :
<?php
$(document).ready(function(){
saveField('[name=username]');
});