1

htmlフォームに値を挿入しました。データの挿入に成功した後でも、Chromeの開発者ツールには表示されません。設定を確認する必要がありますか、それともブラウザにキャッシュの問題がありますか。データベースとテーブルが作成されましたが、値が挿入されていません。以下にコードを提供します。

$(document).ready(function() {

     var db = openDatabase("todolist", 1.0, "To Do List Database", 100 * 1024);
     db.transaction(function(transaction) {
         transaction.executeSql("CREATE TABLE IF NOT EXISTS list(" + "ID INTEGER PRIMARY KEY ASC," + " name TEXT NOT NULL," + " description TEXT," + " due DATETIME," + " start DATETIME);", []);
     });

     $("#submit").click(function() {
         var name = $("#taskname").val();
         //alert(name);
         var desc = $("#taskdesc").val();
         //alert(desc);
         var due = $("#taskdue").val();
         //alert(due);
         var start = $("#taskstart").val();
         //alert(start);
         db.transaction(function(transaction) {
             var sql = "INSERT INTO list(name,description,due,start )VALUES(?,?,?,?)";
             transaction.executeSql(sql, [name, desc, due, start], function() {

                 alert("Values Inserted")
             }, error);
         });
     });

     function error(transaction, err)

     {
         alert("DB error : " + err.message);
         return false;
     }
 });
4

2 に答える 2

0

OK、これらのコマンドをテストDBで動作させることができたので、2つの問題のいずれかが発生していると思います。値(name、desc、due、start)のいずれかが未定義であるか、「;」を追加する必要があります。挿入コマンドに

var sql = "INSERT INTO list(name,description,due,start )VALUES(?,?,?,?);";

それ以外の

var sql = "INSERT INTO list(name,description,due,start )VALUES(?,?,?,?)";
于 2012-10-10T10:56:48.077 に答える
0
var x = {};
x.web = {};
db= null;
x.web.open=function()
{
    //alert("hiiii")
    db= openDatabase("amith",1.0,"To Do List Database",100*1024);
}
x.web.create=function()
{
    var data=db;
    //alert(data)
    data.transaction(function(transaction){
    transaction.executeSql(
    "CREATE TABLE IF NOT EXISTS type("+
    "ID INTEGER PRIMARY KEY ASC,"+
    " name TEXT NOT NULL,"+
    " description TEXT,"+
    " due DATETIME,"+
    " start DATETIME)");
    });

}
x.web.addTodo = function(name,desc,due,start) 
    {
        var data1 = db;
        data1.transaction(function(tx){
        var sql="INSERT INTO     
   type(name,description,due,start)VALUES(?,?,?,?)";
        tx.executeSql(sql,[name,desc,due,start],function(){
        //alert("Values Inserted")
        },error);
        });
    }
 function error (transaction, err) 

    {
        alert ("DB error : " + err.message);
        return false;
    }

function init()
{
    x.web.open();
    x.web.create();
}
 function addTodo() 
{
    //alert("toodod")
    var name = document.getElementById("taskname").value;
    var desc= document.getElementById("taskdesc").value;
    var due= document.getElementById("taskdue").value;
    var start=document.getElementById("taskstart").value
    //alert(name);
    x.web.addTodo(name,desc,due,start);
}
于 2012-10-15T06:19:48.950 に答える