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

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

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

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

JavaScript

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

Q&A

2回答

1766閲覧

JavaScriptでfromの送信

l_l_l_l_l_l_l_l

総合スコア38

JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

JavaScript

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

0グッド

0クリップ

投稿2016/06/29 00:18

編集2016/06/29 01:24

###前提・実現したいこと
jspで画面を作りました。
そこにデータを削除するボタンがあり、
JavaScriptを使用し「削除しますか?」の
ポップアップを出したいです。
自分なりにやってみたのですが、
ポップアップすらでませんorz
どう書いていいかわからないのでご質問させていただきました。

###JSP

<%@ page contentType="text/html; charset=UTF-8" import="java.sql.*,javax.naming.*,javax.sql.*,java.text.*,java.util.Date,java.util.Calendar"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql"%> <html> <sql:setDataSource var="db" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost/Library" user="root" password="" /> <sql:query var="rs" dataSource="${db}"> SELECT book.book_no,book.book_name,IF(book.note="" OR book.note IS NULL,"-", book.note)AS note,genre.genre_name, lend.lend_date,book.state FROM book LEFT JOIN lend ON book.book_no = lend.book_no LEFT JOIN user ON user.user_no = lend.user_no LEFT JOIN genre ON book.genre_no = genre.genre_no where book.delete_flg = 0 <c:if test="${!empty param['genreNo']}"> and book.genre_no = ? <sql:param value="${param['genreNo']}" /> </c:if> ORDER BY book.book_no; </sql:query> <sql:query var="rs1" dataSource="${db}"> select * from genre </sql:query> <sql:query var="rs2" dataSource="${db}"> select book.book_no,book.delete_flg from book where book.delete_flg = 0 </sql:query> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <head> <script type="text/javascript"> function check(){ if(window.confirm('削除しますか?')){ // 確認ダイアログを表示 return true; // 「OK」時は送信を実行 } else{ // 「キャンセル」時の処理 window.alert('キャンセルされました'); // 警告ダイアログを表示 return false; // 送信を中止 } </script> <link rel="stylesheet" type="text/css" href="css/Library.css"> <meta content="text/html; charset=UTF-8"> <title>書籍管理画面</title> </head> <body> <%-- ログインせずに画面遷移してきた場合、ログイン画面へ戻るようにする処理 --%> <% HttpSession a = request.getSession(); Boolean userResult = false; if (session.getAttribute("userResult") != null) { userResult = (boolean) session.getAttribute("userResult"); } else if (session.getAttribute("userResult") == null) { request.setAttribute("errorMessage", "ログインがされていません"); this.getServletContext().getRequestDispatcher("/Login.jsp") .forward(request, response); } %> <h1> <p class="login" style="text-align: center"> <img src="img/reading_boy.png" allign="center" width="80" height="80"> 書籍管理画面<img src="img/reading_girl.png" allign="center" width="80" height="80"> </p> </h1> <form method="POST" action="book_kanri.jsp"> <% Connection con = null; PreparedStatement ps = null; String sql = null; ResultSet gs = null; try { Context initContext = new InitialContext(); DataSource ds = (DataSource) initContext .lookup("java:comp/env/jdbc/Library"); con = ds.getConnection(); sql = "SELECT book.book_no,book.book_name,genre.genre_name,book.state" + " FROM book LEFT JOIN genre ON book.genre_no = genre.genre_no" + " WHERE book.delete_flg = 0"; // SELECT命令の準備 ps = con.prepareStatement(sql); // UPDATE命令を実行 gs = ps.executeQuery(); %> <%-- ジャンルをドロップダウンで表示 (絞込み機能) --%> <br> <form method="POST" action="book_kanri.jsp"> <!-- 絞り込み --> <p> ジャンル <select name="genreNo"> <option value="">全て</option> <c:forEach var="row" items="${rs1.rows}"> <option value=${row.genre_no}>${row.genre_name}</option> </c:forEach> </select> </p> <INPUT style="color: white; WIDTH: 80px; HEIGHT: 30px; background-color: D57200;" type="submit" value="絞り込む" /> </form> <%-- 備考(メモ)を記載したい書籍IDをドロップダウンで表示 --%> <form method="POST" action="book_memo"> <p> 書籍ID <select name="book_no"> <c:forEach var="row" items="${rs2.rows}"> <option>${row.book_no}</option> </c:forEach> </select> </p> <%-- 備考(メモ)をテキストボックスに入力 --%> <div> 備考<input type="text" name="note" /> </div> <br> <c:if test="${!empty requestScope['errorMessage']}"> <div style="color: red">${requestScope['errorMessage']}</div> </c:if> <input style="color: white; WIDTH: 60px; HEIGHT: 30px; background-color: D57200;" type="submit" value="登録" /> </form> <h2>書籍一覧</h2> <%-- 書籍一覧表示 --%> <table class="tbl_01" border="1"> <tr> <th>書籍ID</th> <th>書籍名</th> <th>ジャンル</th> <th>貸出</th> <th>貸出変更</th> <th>削除</th> <th>備考(メモ)</th> </tr> <c:forEach var="row" items="${rs.rows}"> <tr> <td>${row.book_no}</td> <td>${row.book_name}</td> <td>${row.genre_name}</td> <%-- 貸出が可能(数値:1)の場合"○"を表示--%> <td><c:if test="${row.state == 1}">○</c:if> <%-- 貸出が不可(数値:2)の場合"×"を表示 --%> <c:if test="${row.state != 1}">×</c:if></td> <%-- 貸出が可能の場合、"不可へ"の切り替えボタン表示 --%> <c:if test="${row.state == 1}"> <%-- 書籍削除ボタン --%> <td><form method="POST" action="book_possible"> <input type="hidden" name="id" value=${row.book_no}> <button class="kano" type="submit">不可へ</button> </form></td> </c:if> <c:if test="${row.state != 1}"> <td><form method="POST" action="book_lmproper"> <input type="hidden" name="id" value=${row.book_no}> <button class="huka" type="submit">可能へ</button> </form></td> </c:if> <td> <form method="POST" action="delete_book" onSubmit="return check()"> <input type="hidden" name="user_edit" value=${row.book_no}> <input type="submit" value="削除" /> </form> </td> <td>${row.note}</td> </tr> </c:forEach> </table> <br> <%-- 削除済書籍編集画面へ遷移 --%> <form action="book_resurrection.jsp" style="display: inline"> <input style="color: white; WIDTH: 120px; HEIGHT: 30px; background-color: D57200;" type="submit" name="reset2" value="削除済書籍編集"> </form> <%-- 管理者用マイページへ遷移 --%> <form action="kanri_mypage.jsp" style="display: inline"> <input style="color: white; WIDTH: 100px; HEIGHT: 30px; background-color: D57200;" type="submit" name="mypage" value="TOPページ"> </form> <% } catch (Exception e) { throw new ServletException(e); } finally { try { if (gs != null) { gs.close(); } if (ps != null) { ps.close(); } if (con != null) { con.close(); } } catch (Exception e) { } } %> </body> </html>

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

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

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

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

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

guest

回答2

0

削除ボタンとは

<input type="button" value="削除" onclick="MoveCheck();" />

ここのことですか?
ただのボタンなのでMoveCheck()内のconfirmで分岐している通りだと思いますが
「移動してもいいですかー?」にキャンセルしても移動してしまうという質問でしょうか?

投稿2016/06/29 00:38

yambejp

総合スコア114771

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

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

l_l_l_l_l_l_l_l

2016/06/29 00:41

上のほうにあるものは試しで入れてみたものです。。。
yambejp

2016/06/29 00:55

>試しで入れてみた では具体的にどう記載したら不具合になっているのでしょう?
l_l_l_l_l_l_l_l

2016/06/29 01:18

すいません ソースを訂正しました。
yambejp

2016/06/29 02:14

どうだろ、formで送るのは削除指示ばかりじゃないので onsubmitでやると用途が限られちゃいますね 元の仕様のように、buttonでonclick="check()"して パラメータ付きでlocationを移動して削除かどうか 判断するのが妥当だと思います。 ちなみにformを入れ子にしたら何をやっても無駄 ブラウザや環境によって何がおこるかわからない
guest

0

onclick="return MoveCheck();" で、 キャンセル時には false を渡して クリックをキャンセルするようにしないと。

MoveCheck も 最後に return res; を足してね。

投稿2016/06/29 00:38

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

yambejp

2016/06/29 00:54

今回の命題はsubmitしていないので微妙ですね buttonは戻り値のチェックは不要です
l_l_l_l_l_l_l_l

2016/06/29 01:18

すいません ソースを訂正しました。
退会済みユーザー

退会済みユーザー

2016/06/29 01:24

formが入れ子になってるのかな?
退会済みユーザー

退会済みユーザー

2016/06/29 01:38

はい
l_l_l_l_l_l_l_l

2016/06/29 01:41

onSubmit="return check()" をformからはずせばいいのですか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問