Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    problema sqlite javascript

    Ciao a tutti ho questo codice che utilizzo per la mia app android...
    non riesco a capire perché se utilizzo il codice nella index.html tutto funziona bene ma se lo inserisco in un'altra pagina non và!!! per caso devo aprire il db prima???grazie

    var dataBox = null;
    var entrateBox = null;
    var db = null;
    var dataTable = null;
    /** Called when phonegap javascript is loaded */
    function onDeviceReady(){
    var addButton = document.getElementById("add");
    dataBox = document.getElementById("data");
    entrateBox = document.getElementById("entrate");
    dataTable = document.getElementById("data-table");


    db = window.openDatabase("contactDB", "1.0", "Contact Database", 1000000);//name,version,display name, size
    addButton.addEventListener(
    "click",
    function(){

    db.transaction(
    //function sql statements
    function (tx){
    ensureTableExists(tx);
    var data = dataBox.value;
    var entrate = entrateBox.value;

    var sql = 'INSERT INTO Bilancio (data, entrate) VALUES ("'+data+'","'+entrate+'")';
    tx.executeSql(sql);

    },
    //error callback
    function (err){
    alert("error callback "+err.code);

    },
    //success callback
    function (err){
    //alert("success callback "+err.code);
    loadFromDB();
    }
    );


    },
    false);
    loadFromDB();

    }

    function loadFromDB(){

    db.transaction(
    //function sql statements
    function (tx){
    ensureTableExists(tx);
    tx.executeSql('SELECT * FROM Bilancio',
    [],
    function(tx, results){
    var htmlStr="";
    for(var index=0;index<results.rows.length;index++){
    var item = results.rows.item(index);
    htmlStr=htmlStr+"<tr><td>"+item.data+"</td><td>"+item.entrate+"</td><td><button onclick=\"deleteEntry('"+item.id+"');\">X</button></td></tr>";

    }
    dataTable.innerHTML=htmlStr;
    }
    ,
    function(err){
    alert("Unable to fetch result from Bilancio Table");
    }
    );

    },
    //error callback
    function (err){
    alert("error callback "+err.code+" "+err.message);

    },
    //success callback
    function (){
    dataBox.value="";
    entrateBox.value="";

    }
    );


    }

    function deleteEntry(id){
    db.transaction(
    //function sql statements
    function (tx){
    ensureTableExists(tx);
    tx.executeSql('Delete FROM Bilancio where id='+id);

    },
    //error callback
    function (err){
    alert("error callback "+err.code+" "+err.message);

    },
    //success callback
    function (err){
    //alert("success callback ");
    loadFromDB();

    }
    );


    }

    function ensureTableExists(tx){
    tx.executeSql('CREATE TABLE IF NOT EXISTS Bilancio (id INTEGER PRIMARY KEY, data, entrate, uscite, riposo, spesa)');

    }
    /** Called when browser load this page*/
    function init(){
    document.addEventListener("deviceready", onDeviceReady, false);
    }





    <body onLoad="init()">

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Nella index apri prima il db? Se lo fai dovrai farlo anche nelle altre pagine altrimenti no. Nelle altre pagine hai degli altri script? Prova (momentaneamente) a toglierli per capire se influisco con lo script. Nelle pagine interne fai altre chiamate alla onload del documento oltre a init()? Puoi mettere un link pubblico alle pagine?
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    No è molto più se mplice....nella index non ho inserito ancora nessuno script...c'è solo un bottone di collegamento alla pagina dove c'è lo script del db....

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.