質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

解決済

2回答

9282閲覧

Java Scriptのconfirmでキャンセルしても処理が進んでしまう。

ringoame49

総合スコア46

PHP

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

1クリップ

投稿2022/01/20 09:39

質問失礼します。

現在confirmを使用しキャンセルをクリックした際、処理をせず終了したいのですが処理がそのまま進んでしまいます。
PHPにて削除ボタンが複数あり、idを割り振れていないのが原因でしょうか。
以下がコードになります。

PHPにて所定のディレクトリの任意数のファイルを画面上に表示しています。
ファイルの数は変動します。

PHP

<ul> <?php for($i = 0; $i < $filesCnt; $i++){ ?> <li> <a href="<?=$files[$i]?>" download="<?=basename($files[$i])?>"> <?=basename($files[$i])?>をダウンロード </a> <form action="delete" method="post" onclick="deleteCheck()" enctype="multipart/form-data"> <input class="hide" type="hidden" name="path" value="<?=$files[$i]?>"> <button class="delete" type="submit">ファイルを削除する</button> </form> </li> <?php } ?> </ul>

onclick="deleteCheck()をbuttonに記述しても動作は同じでした。

JS

function deleteCheck() { if(confirm("削除を実行しますか?")){ } else { alert("削除をキャンセルしました"); } }

以上、解決方法や参考ページをご存じの方がいらっしゃいましたらご教授いただけますと幸いです。

よろしくお願いいたします。

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

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

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

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

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

maisumakun

2022/01/20 09:42

> 処理をせず終了したいのですが処理がそのまま進んでしまいます。 どの部分で「処理が中断する」効果を持つと考えましたか
ringoame49

2022/01/20 11:09

ご質問ありがとうございます。 confirmを記述すれば良いと勘違いしておりました。 色々調べてtrueやfalseを返す事を知れました。
guest

回答2

0

ベストアンサー

javascript

1onclick="deleteCheck()" 2↓↓↓ 3onclick="return deleteCheck()"

としておいて、こんな感じ

javascript

1function deleteCheck() { 2 var ret=confirm("削除を実行しますか?"); 3 if(!ret) alert("削除をキャンセルしました"); 4 return ret; 5}

投稿2022/01/20 09:46

yambejp

総合スコア114839

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

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

ringoame49

2022/01/20 11:07

ご回答と正しい記述をお教えいただきありがとうございます。 無事に動作いたしました。
guest

0

formのclickイベントにしている意図が今ひとつ見えませんが(通常はsubmitのはず)、
キャンセル押されても何もしてないのでそのまま送信しています。
キャンセル時にはreturn falseしてください。

ただ、submitイベントだと場合により送信してしまっていたりすることもないわけではないので(ここ曖昧で申し訳ない)、
確実に止めるならボタンをtype=buttonにしたうえで、formではなくボタンのclickイベントに変更し
form.submitをJavaScriptでしたほうが良いです。

投稿2022/01/20 09:43

m.ts10806

総合スコア80850

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

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

ringoame49

2022/01/20 11:10

ご回答ありがとうございます。 勉強の参考にさせていただきます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問