回答編集履歴

1 低評価つけた方はコメントください。

m.ts10806

m.ts10806 score 44545

2020/01/16 21:29  投稿

formのsubmitを絡める以上はaction先に送信しますので、いわゆる画面遷移がおこります
formのsubmitを絡める以上はaction先に送信しますので、いわゆる画面遷移がおこります
Ajaxによる非同期アップロードをしてはどうでしょうか。
レスポンスが返ってくるまでJavaScriptで画面上に「アップロード中」と表示をしておけばそれっぽくはなります。
※それなりのサイズでなければ一瞬で終わります。fadeIn()→fadeOut()を利用することで若干見せる時間は延ばせますが
また「今何%」も出したいのであれば、jQueryのファイルアップロードのプラグインが幾つかあるのでそちらを使う手もあります。
ちなみに。
> アップデートボタンを押下した際にボタンが押せなくなるようなコードを探しました
submitした時点で送信されますし、押したあとに非活性にしても効果はありません。
PHPでechoされたものは画面が表示されるときに一緒に出力しますので、本当にアップロード中に「アップロード中」と出すことはできません。
その文言が出たときにはアップロード終わってます。簡易二重サブミット対策で入れるのは構わないと思いますけどね。
なので、form送信ではなくAjaxで非同期で情報をサーバーに送信する方法が適当だと思います。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る