2 votes

Phonegap Jquery Mobile Enregistrer des données sur le téléphone

Im trying something simple below. I want to accept user input for their name click a button save it and when the app loads a second time it displays the name.

Où est-ce que je me trompe ci-dessous ?

Do i need to put this code block somewhere else?

$(function(){
$('#saveButton').click(function() {
        window.localStorage.setItem("name", $('#name').val());
});
    $('#newpage').live('pageshow', function() {
        var personName = window.localStorage.getItem("name");
        if(personName.length>0){
                $('#name').val(personName);
        }
    });

});

Fichier html complet

$(function(){
$('#saveButton').click(function() {
        window.localStorage.setItem("name", $('#name').val());
});
    $('#newpage').live('pageshow', function() {
        var personName = window.localStorage.getItem("name");
        if(personName.length>0){
                $('#name').val(personName);
        }
    });

});

Hello World

            Page d'accueil

        hello Phone Gap and JQuery Mobile! nouvelle page

            pied de page

            nouvelle page

        what is your name?

        Sauvegarder

            pied de page

    app.initialize();

6voto

Jeff Points 4448

Oui, vous devez placer le branchement de l'événement de clic sur le bouton dans l'événement pageinit - ils le spécifient même dans la documentation

$(document).on("pageinit","#newpage",function(){
    $('#saveButton').click(function() {
        localStorage.setItem("name", $('#name').val());
    });
});

$(document).on('pageshow','#newpage', function() {
    var personName = localStorage.getItem("name");
    if(personName.length>0){
            $('#name').val(personName);
    }
});

Pour les tests sur les appareils iOS : Au cas où vos modifications ne se reflètent pas sur votre appareil, assurez-vous de toucher vos fichiers avant de les déployer. Le modèle de projet par défaut de Phonegap le fait déjà, mais leur commande ne fonctionne pas pour moi. Voir ma réponse : https://stackoverflow.com/a/12707386/561545

0voto

tuvboy Points 109

Petite correction! .val devrait être .html. Veuillez voir le code ci-dessous.

$('#my_name').html(personName);

ajouter :

div id="my_name"

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X