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

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

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

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

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

3回答

6765閲覧

<a href="" onclick="document.フォーム名.submit(); return false;">は間違っていますでしょうか??

Sfidante

総合スコア90

JSP

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

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2015/07/02 13:33

Webアプリの作成において困っていることがあります。

それは、

lang

1<form action="◯◯" method="POST" name="form1"> 2<input type="hidden" name="□□" value="${ △△ }"> 3</form> 4••• 5<a href="" onclick="document.form1.submit(); return false;"> 6••• 7</a>

というコードがあり、
<a>タグで囲まれた部分をクリックすると、

<form>タグ内の値をリクエストするようにしているのですが、 postしようとするとエラーが起きてしまいます。

もう少し、具体的に申しますと、
まず、コードですが下記になります。

lang

1<form action="YourSelectEngineer?switch=MatchingDetailEngineer" method="POST" name="form1"> 2 <input type="hidden" name="engineerid" value="${ engineerlist.engineerid }"/> 3 </form> 4 <div class="row p-profile_box_white"> 5 <div class="col-md-12 c-matching_box"> 6 <a href="" onclick="document.form1.submit(); return false;"> 7 <div class="c-matching-leftbox c-center"> 8 <div class="c-photobox "> 9 <img src="${ engineerlist.photo }" class="img-circle c-photo"><br> 10 </div> 11 <div class="c-name"> 12 <p>${ engineerlist.name }(${ engineerlist.age })</p> 13 </div> 14 </div> 15 </a> 16 17 <div class="c-matching-rightbox"> 18 <nav class="c-position"> 19 <ul class="nav nav-stacked "> 20 <li class="c-matchingbox_info"><img src="image/minicompany_logo.png" class="c-mini_logo"> 21 <c:if test="${ engineerlist.projectmanager == true }" var="projectmanager"/> 22 <c:if test="${projectmanager}">プロジェクトマネージャー<br></c:if><c:if test="${!projectmanager}"></c:if> 23 <c:if test="${ engineerlist.projectleader == true }" var="projectleader"/> 24 <c:if test="${projectleader}">プロジェクトリーダー<br></c:if><c:if test="${!projectleader}"></c:if> 25 <c:if test="${ engineerlist.engineer == true }" var="engineer"/> 26 <c:if test="${engineer}">システムエンジニア<br></c:if><c:if test="${!engineer}"></c:if> 27 <c:if test="${ engineerlist.programer == true }" var="programer"/> 28 <c:if test="${programer}">プログラマー<br></c:if><c:if test="${!programer}"></c:if> 29 <c:if test="${ engineerlist.director == true }" var="director"/> 30 <c:if test="${director}">ディレクター<br></c:if><c:if test="${!director}"></c:if> 31 <c:if test="${ engineerlist.coder == true }" var="coder"/> 32 <c:if test="${coder}">コーダー<br></c:if><c:if test="${!coder}"></c:if> 33 <c:if test="${ engineerlist.designer == true }" var="designer"/> 34 <c:if test="${designer}">デザイナー<br></c:if><c:if test="${!designer}"></c:if> 35 <c:if test="${ engineerlist.tester == true }" var="tester"/> 36 <c:if test="${tester}">テスター<br></c:if><c:if test="${!tester}"></c:if> 37 </li> 38 <li class="c-matchingbox_info"><img src="image/ministation_logo.png" class="c-mini_logo"> ${ engineerlist.years_of_experience }年</li> 39 <li class="c-matchingbox_info"><img src="image/miniindustry_logo.png" class="c-mini_logo"> ${ engineerlist.introduction }</li> 40 </ul> 41 </nav> 42 </div> 43 </div> 44 </div>

なお、<form>内で<input type="submit">するとエラーは出ずに成功します。

因に、エラーは下記の通りです。

重大: サーブレット /Callback のServlet.service()が例外を投げました
java.io.IOException: Server returned HTTP response code: 400 for URL: https://graph.facebook.com/oauth/

エラー該当箇所は下記の通りです。

lang

1//アクセストークンを取り出す 2 final String accessTokenURL = 3 "https://graph.facebook.com/oauth/access_token?client_id=" 4 + appId 5 + "&redirect_uri=" 6 + URLEncoder.encode(callbackURL, "UTF-8") 7 + "&client_secret=" 8 + appSecret 9 + "&code=" 10 + URLEncoder.encode(code, "UTF-8"); 11 final String accessTokenResult = httpRequest(new URL(accessTokenURL)); 12 13 String httpRequest(URL url) throws IOException { 14 HttpURLConnection conn = (HttpURLConnection) url.openConnection(); 15 conn.setDoOutput(true); 16 conn.setUseCaches(false); 17 conn.setRequestMethod("GET"); 18 BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream())); 19 String line = null; 20 String response = ""; 21 while ((line = reader.readLine()) != null) { 22 response += line; 23 } 24 reader.close(); 25 conn.disconnect(); 26 return response; 27 }

final String accessTokenResult = httpRequest(new URL(accessTokenURL));
でエラーが出ているようです。

しかし、<input type="submit">では正常に動作しているので、
原因がよくわかりません。

何故、<a>タグですとエラーが出てしまうのでしょうか?

ご回答の程よろしくお願い致します。

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

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

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

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

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

guest

回答3

0

自己解決

すみません、
全く記載していないコードからの原因だとわかりました。
原因はformのnameの重複だったと思います

投稿2015/07/03 03:58

Sfidante

総合スコア90

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

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

0

accessTokenURLを組み立てた後に、ログに出力するか、デバッガで見るなどして、
成功する場合と、失敗する場合のURLの違いがないか、調べてみてはいかがでしょうか?

投稿2015/07/03 02:31

eripong

総合スコア1546

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

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

0

<form action="YourSelectEngineer?switch=MatchingDetailEngineer" method="POST" **name**="form1"> を <form action="YourSelectEngineer?switch=MatchingDetailEngineer" method="POST" **id**="form1"> に変えてみたらどうでしょう?

投稿2015/07/02 13:43

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

Sfidante

2015/07/02 14:07

回答ありがとうございます。 変えてもダメみたいですね。 同じような記載の仕方をしているJSPでは、成功しているのに、 このJSPだけがエラーおこしているみないなのです。 やはり、エラー文からたどるしか無いのでしょうか?
退会済みユーザー

退会済みユーザー

2015/07/03 02:06

<form>の中でsubmitすればきちんと処理出来るのに不可解ですね 一度 POSTをGETに変えて送信されているデータの中身を確認されてはいかがですか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問