私は以下を使用して、Webアプリからサーバー側のphpとquickbaseの両方にフォームデータを投稿しています。fill.phpは署名を処理し、それをpdfに追加して、結果を電子メールで送信します。
この部分の実際の成功関数がないことを除いて、すべてが正常に機能します。
$('#sendbtn').click(function(){
signatures();
$.post( 'https://www.quickbase.com/db/dbname?act=API_AddRecord', $('form').serialize());
$.post( 'fill.php', $('form').serialize(), $.mobile.changePage('#successpop', {transition: 'pop', role: 'dialog'}));
});
ポップアップが表示されますが、成功を示す真の指標ではありません。成功のポップアップを表示する前に、これらの投稿の一方または両方から応答を返すにはどうすればよいですか?成功したときに条件付きで一方の投稿からもう一方の投稿に移動するのは素晴らしいことですが、QuickBaseの投稿についてはそれほど心配していません。成功を表示する前に、fill.phpの投稿を確認する必要があります。
これについて私が気に入っているのは、アプリ外のURLへのリダイレクトを回避できることです。
助けてくれてありがとう!
<form action="" encoding='multipart/form-data' encType='multipart/form-data'>
<input type=text name=_fid_6 >
<input type=text name=_fid_7 >
<input type=text name=_fid_8 >
<input type="hidden" name="img" id="img" />
<input type="button" value="Sign!" id="sendbtn" />
</form>
<script>
$(document).ready(function() {
$("#signature").jSignature()
})
function signatures(){
var $sigdiv = $("#signature");
var datax = $sigdiv.jSignature("getData","image");
$('#img').val(datax);
$sigdiv.jSignature("reset")
}
</script>
<script>
$(document).ready( function(){
$('#sendbtn').click(function(){
signatures();
$.post( 'https://www.quickbase.com/db/dbname?act=API_AddRecord', $('form').serialize());
$.post( 'fill.php', $('form').serialize(), $.mobile.changePage('#successpop', {transition: 'pop', role: 'dialog'}));
});
});
</script>
<div data-role="page" id="successpop">
<div data-role="header" data-theme="c">
<h1>QAF Sent</h1>
</div>
<div data-role="content" data-theme="d">
<h2>Your QAF has been sent</h2>
<p><input type="button" data-inline="true" data-theme="b" value="Begin New QAF" data-icon="back" onclick="clearForm();"/></p>
</div></div>