前半ではURLSearchParams
で現在のページのURLに含まれるクエリ文字列のオブジェクトを作成し、get
メソッドでsubmitted
の値を変数に代入しています。 後半ではsubmitted
が真でない場合には、お問い合わせページ(/contact/)に自動的にリダイレクトするようにしています。
これでフォーム送信完了後にのみ送信完了ページにアクセスできるようになります。
記事冒頭で「Astroで作成しているサイト」と紹介していますが、ここで実装している対策はクライアントサイドJavaScriptのみで実現しています。 そのため、実際にはAstro固有の機能を使っておらず、他のフレームワークやプレーンなHTML/JavaScriptでも同様に機能します。