マニュアルのチャットルームコードの例を考えて、標準ライブラリのUpload.html関数を使用してユーザーが画像をアップロードするためのフォームを追加したいと思います。以下は、私がdivタグでラップを書いたアップロードフォームコードです。
{Upload.html(
{form_id = "upload" url_parameters = params()
form_body =
<input type="file" name="upload" />
<input id=#entry onnewline={_ -> broadcast(author, room_name)} />
<input type="submit" onclick={_ -> broadcast(author, room_name)} value="Post" />
process = save_image})}
DOMに、入力メソッドの2番目のセットをレンダリングするiframe要素があり、それらはブロードキャスト関数にもバインドされており、ユーザーの新しいメッセージをチャットログに追加します。そのため、送信を押すたびに、1つではなく2つのメッセージがチャットログに追加されます。この問題を回避するために使用できるUpload.config設定はありますか?