ランディングページであるために、メールフォームの送信完了画面にページ遷移せず、ポップアップでサンクスメッセージを表示させたい。
できれば、Bootstrapのモーダルを使用して欲しいという依頼がありました。

Bootstrapのモーダルは、通常はボタンクリックで開くのですが、それをクリックせずに開いた状態にするために、メール送信後にURLハッシュをつけて同ページを開き、URLハッシュの判定でモーダルのクラス属性を書き換えてみたのですが、Bootstrap4のモーダルがなかなかややこしくてうまく開閉できませんでした。

それなら、モーダルのtoggleに対してボタンクリックと同様の指示を直接してみると、あっさり解決。

コードは、以下の通りでした。

<script>
	$(function(){
		var hash = window.location.hash;
		if(hash == '#thanksModal'){
			$(hash).modal('toggle');
		}
	});
</script>