フォームにカメラ ボタンを配置して、写真を撮って URI を localStorage 変数に保存できるようにします。問題は、カメラが起動するたびに、送信ボタンを押さずにフォームが送信されるため、URI が保存されないことです。submitForm() をトリガーしないようにする必要があります。洞察はありますか?
ああ、アプリは jquerymobile を使用しています。
htmlフォーム
<form method="post" onsubmit="return submitForm()" id="myForm" data-ajax="false"> <lable for="title" class="ui-hidden-accessible">Title</lable><input type="text" name="title" placeholder="Title"><br> <button onclick="capturePhoto()">Camera</button><br> <input type="text" name="description" placeholder="description"> <input type="submit" value="submit"> </form>
js
function submitForm() { db.transaction(insertDB, errorCB); $.mobile.changePage( "#page2", { reverse: false, transition: "slide" } ); false を返します。}
function capturePhoto() { // デバイスのカメラを使用して写真を撮り、base64 でエンコードされた文字列として画像を取得します navigator.camera.getPicture(onPhotoDataSuccess, onFail, { quality: 50, destinationType: Camera.DestinationType.FILE_URI }); }