🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

943閲覧

formの一部押下でアラートを出したい

Roo

総合スコア55

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

1クリップ

投稿2019/10/25 04:42

###前提

ECサイト作成中:(課題)

-商品詳細画面-

<form> ①数量選択:(select) ②カートに入れ購入する:(submit) ③カートに入れたまま買い物を続ける:(submit) </form>

①を選択後、② or ③クリックされた方をPOSTする。

###やりたいこと、
①を選択後、② or ③クリックされた方をPOSTすることはできたのですが、
②を選択したときのみ、ポップアップ or アラートを表示したいです。

###質問点:
formの中の一部をサブミットをした際にアラートを出したい。
(②のみ、サブミット時、JS等でアラートを出す)
どうすれば宜しいでしょうか?

<form> ①数量選択:(select) ②カートに入れ購入する:(submit) // ここを押下したときのみアラート!! ③カートに入れたまま買い物を続ける:(submit) </form>

html

1 2<form method="post" action="cookie_try.php"> 3 4//①購入する数量を選択 5 6数量:<select name="cnt" value=""> 7<option value="1" selected>1</option> /* ←初期値は「selected」を入れておく */ 8<option value="2">2</option> 9<option value="3">3</option> 10<option value="4">4</option> 11<option value="5">5</option> 12</select> 13 14//②id="cart"のみポップアップ or アラートを表示させたい!! 15 16<p><input type="submit" id="cart" name="cart" value="カートに入れたままやで" ></p> 17 18//③id="ncart"はアラートなし 19<p><input type="submit" id="ncart" name="ncart" value="カートに入れて購入をする"></p> 20</form> 21

###試したこと
上記の①~③をformごとに記述

<form>①</form> <form>②</form> <form>③</form>

↑結果アラートは出るが、①の結果がPOSTされない。

POSTさせるため以下にしている

<form> ①②③ </form> ↑POSTされるが、同じフォームのため、③押下でもアラートがでてしまう

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2019/10/25 04:46

なんのアラートを出すのか具体的に記載してください。
Roo

2019/10/25 05:08

失礼しました、次回以降参考にさせていただきます。 今回もご指摘いただきありがとうございました。
m.ts10806

2019/10/25 05:14

あまり「自分が解決すればそれでいい」という姿勢は見せない方が良いかと思います。要件不明瞭なまま解決した感をだすのは問題です
guest

回答1

0

ベストアンサー

alertだしてどうするのかわからないので一応confirmにしときました

javascript

1<script> 2window.addEventListener('DOMContentLoaded', ()=>{ 3 document.querySelector('#cart').addEventListener('click',e=>{ 4 if(!confirm('OK?')){ 5 e.preventDefault(); 6 } 7 }); 8}); 9</script> 10<form method="post" action="cookie_try.php"> 11数量:<select name="cnt" value=""> 12<option value="1" selected>1</option> 13<option value="2">2</option> 14<option value="3">3</option> 15<option value="4">4</option> 16<option value="5">5</option> 17</select> 18<p><input type="submit" id="cart" name="cart" value="カートに入れたままやで" ></p> 19<p><input type="submit" id="ncart" name="ncart" value="カートに入れて購入をする"></p> 20</form>

投稿2019/10/25 04:56

yambejp

総合スコア116688

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Roo

2019/10/25 05:12

お忙しいなか、お早い解答ありがとうございます。 解決いたしました。JS...。勉強せねば。 とても助かりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問