2010-07-29 8 views
2

J'ai essayé d'utiliser localStorage avec une zone de texte dans ma page Web (en vain).HTML5 localStorage avec une zone de texte

scénario Mon sauver est la suivante:

$(function() { 
var editor = document.querySelector("#editor"); 
editor.addEventListener("keyup", function() { 
    window.localStorage["TextEditorData"] = editor.value; 
}); 
}); 

Mon script de charge est la suivante:

$window.load(function() { 
var editor = document.querySelector("#editor"); 
if (window.localStorage["TextEditorData"]) { 
    editor.value = window.localStorage["TextEditorData"]; 
} 
}); 

Mon code HTML5 est la suivante:

<!DOCTYPE html> 
<html> 
<head> 
<script type="text/javascript" src="js/jquery.js"></script> 
<script type="text/javascript" src="js/data-load.js"></script> 
<script type="text/javascript" src="js/data-save.js"></script> 
</head> 
<body onLoad="editor.focus()"> 
<textarea id="editor"></textarea> 
</body> 
</html> 

Mais il n » Cela semble fonctionner. Est-ce que je manque quelque chose d'évident ici? I est-ce que a réussi à le faire fonctionner quand j'ai utilisé un div contented au lieu d'un textarea et avec editor.innerHTML au lieu de editor.value mais j'ai besoin d'utiliser un textarea pour cette page web particulière. Aucune suggestion?

+0

J'ai corrigé l'erreur de syntaxe que Nick Craver a signalée, et cela fonctionne dans jsFiddle. Pour une raison quelconque, cela ne fonctionne toujours pas dans ma page Web. –

+0

D'accord, je l'ai maintenant. Je ne sais pas exactement pourquoi, cependant, tout ce que j'ai fait était de changer la variable JavaScript 'editor' en 'ta' tout en laissant l'identifiant textarea en tant que 'editor'. Eh bien, ça fonctionne. –

Répondre

3

vous manque une parenthèse sur votre if(), ceci:

if window.localStorage["TextEditorData"] { 

devrait être:

if (window.localStorage["TextEditorData"]) { 

il est actuellement de lancer une erreur de syntaxe. Here's a version of your code with the above fix, de travail :)

+0

Pourquoi avez-vous joint 'jquey-ui.css' à votre violon? Y a-t-il une raison spécifique? – Shafizadeh

Questions connexes