【Labs】iframeで画面遷移しないように見えるメールフォーム
こんにちは(・∀・)
PHPで作ったメールフォームでは、画面遷移なしでメールの送信はできません。
Ajaxを使えば画面遷移なしでメールの送信はできますが、できるだけ簡単に画面遷移しないでメールの送信ができるメールフォームを作りたいのです。
なのでiframeを使ってチョチョイと作ってみたいと思います。
iframeを使ったメールフォーム
特に難しいことはしていません。iframeの中にメールフォームの「index.html」を呼び出しているだけです。
使っているメールフォームは当サイトの【Labs】PHPでシンプルなメールフォームです。
ファイル構成は「index.html」と「mail.php」の2ファイル。
「index.html」で入力した内容をSubmitして「mail.php」で処理するという普通のメールフォームの流れをiframe内で画面遷移して完結させます。
確認画面ありなし共通
HTML
<iframe src="index.html" scrolling="no"></iframe>
CSS
iframe {
width: 100%;
height: 320px;
border: none;
}
@media (min-width: 768px) {
iframe {
width: 840px;
height: 360px;
border: none;
}
/* ** */}
Result(確認画面なし)
サンプルデモはこちら
スマホでのご確認はこちらをどうぞ
Result(確認画面あり)
サンプルデモはこちら
スマホでのご確認はこちらをどうぞ
どちらのサンプルも「index.php」は背景色をブルー、「mail.php」は背景色をピンクにしてiframe内で画面遷移していることがわかりやすいようにしております。
Submitボタンを押下して背景色は変わりますがURLが変わらないことをご確認ください。
関連リンク
【Labs】シンプルメールフォームで簡易CAPTCHA認証
【Labs】PHPでシンプルなメールフォーム