J'ai trouvé quelques messages liés à "phonegap toile signature", mais ils n'ont pas d'aide. J'ai quelques boîtes déroulantes, des cases de texte, et un champ de signature. Je veux insérer ces champs dans la Base de données sqlite.
Ma base de données création de la table ressemble à ceci:
tx.executeSql("CREATE TABLE IF NOT EXISTS parts(id INTEGER PRIMARY KEY AUTOINCREMENT,nr,productId,description,toolsVerified)");
tx.executeSql("CREATE TABLE IF NOT EXISTS costs(id INTEGER PRIMARY KEY AUTOINCREMENT,nr,date,starttime,endtime,reason,cost)");
tx.executeSql("CREATE TABLE IF NOT EXISTS sign(orderNr unique ,rapport,sign)");
Lire les valeurs de champ comme normal pour le texte et la liste déroulante pour toile de champ de signature, c'est comme
kundusSign = $("#mKundusskirt")[0];
kundensUnderSkrift = kundusSign.toDataURL();
Voici le code pour insérer des données:
db
.transaction(function(tx) {
// for parts table
tx
.executeSql(
"insert into parts(nr,productid,description,toolsVerified) values(?,?,?,?)",
[ nr, productId, desc, tool ]);
// for cost table
tx
.executeSql(
"insert into costs(nr,date,starttime,endtime,reason,cost) values (?,?,?,?,?,?)",
[ nr, date, startTime, endTime, reason, cost ]);
// for sign table
signQuery = 'UNION SELECT ' + nr + ", '" + rapport + "','"
+ kundensUnderSkrift + "'";
tx
.executeSql('insert or replace into "sign" SELECT "orderNr","rapport","sign"'
+ signQuery);
});
J'ai inclus signe plugin pour les signatures. Maintenant, mon problème est que lorsque je tape dans le champ de signature, les champs de base de données ne sont pas insérées. Aussi lorsque j'essaie de supprimer le signe requête d'insertion et de mettre le moyen de signe aux deux autres de la table (coût et pièces) les valeurs sont également pas inséré. Si je n'ai pas touché le signe des champs, toutes les valeurs sont insérés avec succès pour l'image de l'insère le toDataurl (format.
J'ai seulement eu cette erreur dans la trace de la pile:
sqlite (23) not authorised
.
Merci de donner la solution à ce.
EDIT: J'ai aussi essayé ceci:
tx.executeSql("insert into sign(orderNr,sign,rapport)values(?,?,?)",[nr,rapport,kundensUnderSkrift]);