2009-06-30 2 views
0

J'ai une fonction javascript qui écrit la valeur d'un champ <input> dans un cookie, puis actualise la page. La page doit être actualisée pour que le côté serveur puisse à nouveau afficher la page en fonction des valeurs du cookie.L'entrée HTML est effacée lors de l'actualisation de la page

Cependant, je ne veux pas que l'utilisateur perde la valeur qu'il tape dans le champ <input>, à moins qu'il ne l'efface.

Comment puis-je y parvenir avec javascript?

+0

Voulez-vous dire que la zone de saisie doit avoir la même valeur après l'actualisation qu'avant l'actualisation? –

+0

oui il devrait avoir –

Répondre

0

Si l'utilisateur actualise la page manuellement, consultez window.onbeforeunload.

Si l'utilisateur poste le formulaire, crachez le côté serveur de valeur ou utilisez JavaScript pour obtenir la valeur du cookie.

+0

je suis confus, mettez-vous cela dans le tag de zone de saisie? –

0

Ne pas actualiser. Redirige l'utilisateur vers la même URL, mais avec un paramètre de chaîne de caractères supplémentaire. Ramassez ceci dans JS et remplissez la zone de texte.

0

Si vous essayez de définir la valeur de l'entrée de texte après l'actualisation, utilisez ce Javascript:

var inputval = getCookie('nameofcookie'); 

if(inputval != NULL && inputval != "") { 

    document.getElementById('idofinput').value = inputval; 

} 

Remplacer « nameofcookie » avec le nom du cookie que la valeur d'entrée est stockée dans, et remplacez "idofinput" par l'ID du champ de saisie de texte.

+0

quand et où cet extrait de code serait-il exécuté, dans la fonction qui actualise la page ou à l'extérieur? –

+0

En dehors de la fonction, lorsque la page est chargée. –

Questions connexes