adaloにてフォーム記入時に別ページに飛ぶと。。。消える

こんにちわ
adaloがやっとなんとなくわかってきました

今回float upで他ページを出して商品を選択して戻ると
その時記載していたテキストボックスの内容が消えてしまいます

インプットボックスに記載した内容が別ページから戻っても消えない方法
ないでしょうか?

質問の確認ですが、「Formからデータを作成する時にインプットに文字を入力後、別のページに遷移してもう一度戻るとインプットに入力した文字が消えてしまう。」でいいんですか?

その現象は現在Adaloはそういう仕様なので仕方ないです。(確か私がAdaloを初めて使った2年前くらいは画面遷移してもインプットの文字がそのまま残っていたのでどうやったら消せるか考えていた気がします。逆の状態だったような気がします。)

画面遷移してもインプットに入力した文字が消えないようにするにはアイディアとして以下のようなやり方があります。

(対策案)
画面遷移する時には必ずどこかのボタンを押しますよね?そのボタンを押したタイミングでインプットのデータを一旦userデータベース(Logged in userの事です)に転送します。Formから別のページに遷移してもう一度Formのページに戻ってくるときにLoggedin userに一時保管しておいたデータをインプットにUpdateでセットするというやり方です。

説明すると長くなるので簡単なアプリを作ったのでどんな感じかやってみて下さい。

画面2枚目に「Input」という名前のForm画面があります。ここに氏名、住所、職業を入力してボタンを押すとHome画面にカスタムリストで一覧表が出来ます。Homeの画面右下の丸ボタンを押してInput画面に遷移しても「インプット」のデータは残ったままです。(実際は画面遷移の時に消えているんですが、Form画面に戻るときにUserデータベースからそのデータを持って来て再設定しています。)

(参考アプリ)cloneコピー可

(補足)
画面遷移先からもう一度Formの画面に戻った時にインプットに元のデータを入れるのはスクリーンアクションでやっています。

分からない部分があれば質問して下さい。

うおおおお
これなんですが、
出来なさそうな雰囲気がぷんぷん

しておりまして
実際のアドレス登録したので
ご教授願いたいです!

一番シンプルな事例で説明します。フォームの画面(データ入力画面)とその結果をカスタムリストで表示する画面(ホーム画面)の2つがあるとします。この他、ユーザーデータベースを使うのでユーザー登録画面とログイン画面は消さないで下さいね。

1.2つの画面を設定
以下のような2つの画面を作ります。フォーム画面からは「氏名」、「住所」、「職業」の3つのデータを入力し、ホーム画面でカスタムリストで結果を表示します。

2.フォームから入力したデータを入れておく「メンバー」というデータベースを作成
・・・「氏名」、「住所」、「職業」という3つのプロパティを作っておきます。

3.userデータベースにも「メンバー」DBで作ったプロパティを作成する
・・・フォーム画面のインプットに入力したデータは送信ボタンを押すと消えてしまいます。「メンバー」DBだけでなくuserデータベースにもデータを飛ばし一時保管をしておきます。再度、フォーム画面に戻るときにuserデータベースに一時保管したデータをフォームのインプットに転送します。

4.フォーム画面の送信ボタン(「データ作成」)に3つのアクションを設定します
①Create
②Update
③Link

Createではインプット(input2,input3,input4)に入力されたデータを「メンバー」DBに転送します。

5.フォームの転送ボタンのUpdateの設定
Updateでインプット(input2,input3,input4)に入力されたデータをuserデータベースに転送します。

以上で、フォームからデータを入力して送信ボタンを押すと「メンバー」DBとuserDBにデータが飛ぶように設定できました。

今回は送信ボタンを押すとホームに画面遷移するように設定してあります。もう一度フォームに戻るとインプットに入力していたデータは消えて無くなっています。(Adaloの仕様なので仕方ないです)

そこでフォーム画面に再度戻った時にインプットに入力したデータが表示されるようにするには以下のような設定をします。

6.インプット画面に戻った時にuserDBに一時保管しておいたデータをインプットに戻す設定
・・・Adaloでは別の画面に遷移したときに、それがきっかけとなって自動的にアクションを起こすことが出来ます。これをスクリーンアクションと呼んでいます。

(スクリーンアクションの設定方法)
①フォーム画面の左上の画面名称(今回は「Input」という名前にしてある)をクリックする
→画面全体が黄色い枠で囲まれます。この状態でActionを設定します。
②各インプットにuserデータベースから持って来たデータを転送します
・・・インプットの中身を変更するにはChangeInput Valueを使います。今回インプットが3つあるのでChange Input valueも以下のように3つ設定します。


それぞれのChange Input valueの設定を以下で説明します

7.Change Input Value(その1)一番上のもの
・・氏名を入れるインプットにはuserデータベースから「氏名」データを持って来て、入れ替えます

8.Change Input Value(その2)真ん中のもの
・・・住所を入れるインプットにはuserデータベースから「住所」データを持って来て、入れ替えます

9.Change Input Value(その3)一番下のもの
・・・職業を入れるインプットにはuserデータベースから「職業」データを持って来て、入れ替えます

一応これで設定は出来ました。フォーム画面のインプットにデータを入れて送信ボタンを押すとメンバーDBとuserDBの両方に同じデータ(氏名、住所、職業)が飛んでいきます。そしてホーム画面に遷移します。
手動で再度フォーム画面に遷移したときにフォーム画面のスクリーンアクションを設定したのでChange Input Valueが働き、userデータベースの氏名、職業、住所データが各インプットに転送されます。

上記の説明通りやってもらえば入力したインプットのデータは画面遷移しても残るようになります。
ただ、いくら説明を聞いてもどうしてそういう発想をするのですか?という疑問は残るかもしれません。(スクリーンアクションやChange Input valueの使い方などはせっかくの機会ですから覚えて下さい。)

質問あったら遠慮なく聞いて下さい。