我似乎无法使用户输入的数据进入表然后进行打印。
到目前为止,这是我的代码:
<!DOCTYPE HTML> <html> <head> <script type="text/javascript"> var db = openDatabase('mydb', '1.0', 'Test DB', 2 * 1024 * 1024); function submit() { var input = document.getElementById("save_name").value; localStorage.setItem("inputed_name", input); var msg; db.transaction(function (tx) { tx.executeSql('CREATE TABLE IF NOT EXISTS LOGS (id unique, log varchar(50))'); tx.executeSql('delete from LOGS'); // Clears table (for debugging) tx.executeSql('INSERT INTO LOGS (id, log) VALUES (1, localStorage.inputed_name)'); msg = '<p>Log message created and row inserted.</p>'; document.querySelector('#status').innerHTML = msg; }); db.transaction(function (tx) { tx.executeSql('SELECT * FROM LOGS', [], function (tx, results) { var len = results.rows.length, i; msg = "<p>Found rows: " + len + "</p>"; document.querySelector('#status').innerHTML += msg; for (i = 0; i < len; i++) { msg = "<p><b>" + results.rows.item(i).log + "</b></p>"; document.querySelector('#status').innerHTML += msg; } }, null); }); } </script> </head> <body> <div id="status" name="status">Status Message</div> <p>Enter data: <input type="text" id="save_name" name="inputed_name" /><br/></p> <p><button onclick="submit()" type="button">Submit Data</button></p> <!--Should print data from the table--> </body> </html>
我从这里得到了“模板” /开始
解决以下
现在,我想向表中添加两个变量,即原始日志变量和另一个用作时间戳记的变量。
function submit() { var input = document.getElementById("save_name").value; var msg; var time_stamp = new Date(); db.transaction(function (tx) { tx.executeSql('CREATE TABLE IF NOT EXISTS LOGS (id auto_increment, date_time varchar(128), log varchar(64))'); tx.executeSql('INSERT INTO LOGS (log, date_time) VALUES (?, ?)', [input, time_stamp]); // <--Problem here! msg = '<p>Log message created and row inserted.</p>'; document.querySelector('#status').innerHTML = msg; }); }
其余代码与上面相同。我认为这会起作用,但是当我测试它时,表中什么也没有。
我认为您只需要更改获取和插入值的方式即可(另外,此行的SQL中存在语法错误):
var input = document.getElementById('someId').value; ... tx.executeSql('INSERT INTO LOGS (id, log) VALUES (1, ?)', [input]); ...
我认为您可以localStorage完全忘记该变量,除非您需要保留这些值。
localStorage