• ベストアンサー

functionの中での判定

java(struts使用)プログラムでの判定結果を、javascriptで判定しようとしているのですが、jsp内に直接書くと問題なく判定できるのですが、onloadイベント等での「function」内で判定を行うと、全く反応がなくなります。 どなたか、解決策を教えてください。 (成功パタ-ン) <td> <% if (request.getAttribute("KAISYA_CODE_1_E") == "1") { %>   <html:submit value=" Login " property="Login"/> <% }else{ %>   <html:submit value=" abcdef " property="Login"/> <% } %> </td> (失敗パタ-ン) <td>   <html:button value="aaaaa" property="button_2" onclick="errInfo()">   </html:button> </td>   ↓ function xxxInfo(){  if (Request.getAttribute("KAISYA_CODE_1_E") == "1"){   document.myform.KAISYA_CODE_1.className = 'err1';  } }

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

>(2)失敗パタ-ンは、javascriptで記述しています。 >  → javascriptで、requestの値を取得できないという事でしょうか?  No2さんも指摘していますが、javascriptで書いているはずのfunctionの中にJSPの記述があります。これでは動作しません。

その他の回答 (2)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

JSPというのは、サーバーサイドで動作させています。 javascriptは、基本的に(指定がなければ)クライアントサイドで動作します。 失敗パターンについては、Request…がサーバーで動作させるものなのに、(onclick時だから)クライアントで動作させようとしているので、失敗します。

shogo0303
質問者

お礼

ありがとうございました。 勘違いしておりました。 別の方法を検討します。

回答No.1

function っていうのは、JavaScriptのファンクションですか?それともJSPのファンクションですか?見たところ、JavaScriptとJSPがごっちゃになってるように見えるのですが・・・。

shogo0303
質問者

お礼

ありがとうございました。 勘違いしておりました。 別の方法を検討します。 

shogo0303
質問者

補足

記述内容がきたなくて申し訳ありません。 (1)成功パタ-ンは、jspで記述しています。 (2)失敗パタ-ンは、javascriptで記述しています。   → javascriptで、requestの値を取得できないという事でしょうか? 

関連するQ&A

  • 値の取得

    先日と同じ問題を出してしまい、申し訳ございません。 iの値を取得したいですが、どうしてもservlet側を取得が出来ないです。 教えてください。 <%@page contentType="text/html; charset=Windows-31J"%> <%@ page import="java.util.*" %> <%@ page import="blog.*" %> <html> <body> <script type="text/javascript"> <!-- function check(){ if(window.confirm('本当に削除してよろしいでしょうか?')){ // 確認ダイアログを表示 var element = document.getElementById("i") request.setAttribute("id", element);// return true; // 「OK」時は送信を実行 } else{ // 「キャンセル」時の処理 window.alert('キャンセルされました'); // 警告ダイアログを表示 return false; // 送信を中止 } } //--> </script> <center> <table> <form action="SeachServlet" method="POST"> <tr> <td>名前:<input type="text" name="name" size="40" value="<%if(request.getAttribute("name")!=null){%> <%=request.getAttribute("name")%><%}%>"></td></tr> <tr><td>日付: <select name="year"> <option><%if(request.getAttribute("year")!=null){%> <%=request.getAttribute("year")%> <%}%></option> <%Calendar cl=Calendar.getInstance(); int year = cl.get(Calendar.YEAR); for(int i=year-7; i<=year+3;i++){ %> <option value="<%=i %>"> <%=i %></option> <%} %> </select>年 <select name="month"> <option><%if(request.getAttribute("month")!=null){%> <%=request.getAttribute("month")%> <%}%></option> <% for(int i=1; i<=12;i++){ if(i<10){%> <option value="0<%=i %>">0<%=i %></option> <%}else{%> <option value="<%=i %>"><%=i %></option> <%}}%> </select>月 <select name="day"> <option><%if(request.getAttribute("day")!=null){%> <%=request.getAttribute("day")%> <%}%></option> <% for(int i=1; i<=31;i++){ if(i<10){%> <option value="0<%=i %>">0<%=i %></option> <%}else{%> <option value="<%=i %>"><%=i %></option> <%}}%> </select>日</td> </tr> <tr><td><input type="button" value=" 印刷 "></td> <td><input type="submit" name="seach" value=" 検索 "></td> </form> </tr> </table> <hr> <FORM> <div><input type="button" value=" 戻る " onClick="history.back()"></div> </FORM> <form action="SeachServlet" method="POST"> <% List<Loginbeans> list = (List<Loginbeans>)request.getAttribute("productlist"); if(list.isEmpty()){ out.print("該当のデータはありません。"); }else{ %> <table border="1"> <tr><th>ユーザID</th><th>名前</th><th>日付</th></tr> <% int i=0; for (Loginbeans bn : list) { i++;//この値を取得したいです %> <tr><td><%=bn.getUser_id()%><input name="use_id" type="hidden" value="<%=bn.getUser_id() %>"/></td> <td><%=bn.getName()%><input name="name" type="hidden" value="<%=bn.getName()%>"/></td> <td><%=bn.getTotal()%><input name="total" type="hidden" value="<%=bn.getTotal()%>"/></td> <td><input id="<%=i%>" type="submit" value=" 削除 " name="delete" onClick="return check()"></td> </tr> <%}}%> <input type="hidden" name ="number" value ="element"> </form> </table> </center> </body> </html> selvet側で String id = (String)request.getAttribute("id"); String ida = request.getParameter("number"); 取得できないですが・・

  • functionの中にfunction?

    functionの中にfunctionの関数を読み込みたいのですが そのようなことはphpで可能でしょうか? ソースは以下のようになっております。 // 実行 hoge1(); hoge2(); function hoge1() { if (!$_POST["submit"]) { foreach($_POST as $k => $v) { if(get_magic_quotes_gpc()) { $v=stripslashes($v); } $v=htmlspecialchars($v); $array[$k]=$v; } extract($array); } } function hoge2() { echo <<<EOM ~~表示させる文章など~~ EOM; foreach ($array as $key => $val){ echo "<input type=\"hidden\" name=\"$key\" value=\"$val\" />\n"; } } 具体的にはhoge1のextract($array);をhoge2の$arrayに入れて foreachで出力させたいのですがどのようにすればできますでしょうか?

    • 締切済み
    • PHP
  • WWW::Mechanizeについて教えてください

    WWW::Mechanizeついて 質問させて頂きます。 他でも質問しておりますが、回答が無かったためマルチですがご了承ください。 WWW::Mechanizeを使ってログインしようとしてるのですが、うまく行きません。 <form action="login.cgi" name="form1" method="post"> <input id=id name='id' type='text' /> <input id=pass name='pass' type='text' /> <input type="submit" name="submit" value="LOGIN" /> 上記のフォームでは正常に取得できます。 しかし、ログインチェックをJavascriptからPHPに渡ってるページでの ログインがうまく行きません。 ソース //入力チェック /*login_checkたとえです*/ function LOGIN(){ $( "userid" ).className = ""; $( "userpassword" ).className = ""; if( login_check( "id" ) ){ if( login_check( "pass" ) ){ document.form1.action = "login.php"; document.form1.Btn_Type.value = "login"; document.form1.submit(); }else{ $( "pass" ).className = "error"; } }else{ $( "id" ).className = "error"; } } <form action="login.php" name="form1" method="post"> <input id=id name='id' type='text' /> <input id=pass name='pass' type='text' /> <input type="button" name="loginbtn" value="LOGIN" onclick='JavaScript:LOGIN();'/> 上記のフォームにログインしようと下記のようにしました。 my $loginUrl = 'http://hoge.jp/login.php'; my $mech = WWW::Mechanize->new(cookie_jar => $cookie_jar); $mech->agent_alias('Windows IE 6'); $mech->get($loginUrl); $mech->form_name('form1'); $mech->field( id => "test" ); $mech->field( pass => "test" ); $mech->click_button( value => 'Login' ); print $mech->content(); これで実行するとエラーがでます。 Can't call method "header" on an undefined value at /usr/lib/perl5/site_perl/5.8.8/WWW/Mechanize.pm line 2471. $mech->click_button( value => 'Login' ); 上記のclick_buttonでvalueを指定するとエラーになります。 WWW::MechanizeはJavascriptは実行できないのでしょうか? お知恵をお貸しいただけませんでしょうか。 説明不足かもしれませんがお願い致します。

    • ベストアンサー
    • Perl
  • 前ページ・次ページの判定の仕方

    現在行いたい処理は以下の通りです。 (1)データの一覧を表示させる (2)一覧を表示させた状態でデータを変更する。 (3)更新ボタンを押さずに前ページか次ページを押した時に  「変更ボタンを押して下さい。」とのメッセージを出力させる。 (4) OKを押した時は、(3)の時に押した前ページか次ページの 処理を行う。 (4)の処理を行なった時に前ページか次ページの判定の仕方 がわかりません。 教えていただきたく、宜しくお願いいたします。 ソースは以下の通りです。 <script type="text/javascript"> function next(action) { var page = document.forms[0].NowPage.value; document.forms[0].NowPage.value = parseInt(page) + 1; document.forms[0].action = action; document.forms[0].submit(); } function before(action) { var page = document.forms[0].NowPage.value; document.forms[0].NowPage.value = parseInt(page) - 1; document.forms[0].action = action; document.forms[0].submit(); } function change(){ myRet = confirm("修正ボタンを押してください。"); if ( myRet == true ){ next('sample!Next.action'); } } </script> ・ ・ <td class="list1" ><s:textfield name="Sample1" size="10" maxlength="10" onchange="change()" /></td> ・ ・ ・  <td><s:submit value="修正" cssClass="form_button" action="Sample" method="Update" onclick="return confirm('%{btnUpdateMsg}');"/></td> <s:hidden name="btnUpdateMsg" /> <tr> <td class="form_navigation"> <s:if test="nowPage!=1"> <div class="navigation"> <s:a href="#" onclick="after('Sample!Next.action');"> <前ページ </s:a> </div> </s:if> </td> <td class="form_navigation"> <s:if test="nowPage!=TotalPage"> <div class="navigation"> <s:a href="#" onclick="next('Sample!Next.action');"> 次ページ> </s:a> </div> </s:if> </td> </tr>

  • Ifが正常に動作しない。

    下記のコードで、login.htmlからデータを適当に入力し てかえってくる処理が全て、空の表示になってしまう。 Ifが正常に動作しません、正常に動作するようにするにはどうすればいいのでしょうか? <login.html> <html> <body> <table> <tr> <td>id:</td> <td><input type="text" name="id"></td></tr> <tr><td>password:</td> <td><input type="password" name="pass"></td></tr> </table> <form methed="post" action="http://session.asp"> <input type="submit" name ="sb" value="login" > </form> </body> </html> session.asp <html> <body> <% if session("id")="" Or session("id")= null then if request("pass")="" Or request("id")= null then response.write "空" elseif request("pass")= "1234" then session("id")="login" response.write "ログインしました。" else response.write "違う" end if else response.write "ログインしました" response.write session("id") end if %> </body> </html>

  • javascriptでログインページの作成

    JSPを作成しているのですが、javascirpt構文の方が 多いため、こちらで質問をさせて頂きます。 javascript, html で ログインページを作成しています。 <%@ page contentType="text/html;charset=Shift_JIS" %> <script type="text/javascript" language="javascript"><!--     function Submit(name,pass,f){  if(name == null){ document.getElementBy(f).action="http://www.yahoo.co.jp"; document.getElementById(f).submit(); }else{ document.getElementById(f).action="http://www.google.co.jp"; document.getElementById(f).submit(); } } //--></script> <form action="login.jsp" method="post" NAME="f1"> <table border="1" width="30%"> <tr> <td>ユーザーID:</td> <td><input type="text" name="admin" size="25" value=""></td> </tr> <tr> <td>パスワード:</td> <td><input type="password" password="password" value=""></td> </tr> </table> <%--- これが悪いのかも!? --- %> <% String name = request.getParameter("name"); String password= request.getParameter("password"); %> <input type="submit" value="ログイン" onClick="Submit('name','password','f1');"> </form> </body> </html> ログインボタンをクリックして、name,password,f1(formの名前)を function のSubmitに値を渡したいのですが、nullが渡されてしまいます。 テキストボックスで入力された値を渡したいのですが、 javascript,htmlの知識が乏しいため、どこがおかしいのかわかりません。 もしわかる方が居ましたら、よろしくお願いたします。

  • onClickがinput type="image"だとできない!

    以前、↓の質問をさせていただき解決したのですが、 input type="image" にしたいのですが、 ただ変更するだけでは、できません。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=2068911 どのように変更したらいいでしょうか? 教えてください! 現在下記の方法でやっています。 <style type="text/css"> .white{ background-Color:white; color:black; } .gray{ background-Color:gray; color:yellow; } .blue{ background-Color:blue; color:red; } </style> <body> <form> 全体: <input type="button" value="White" onClick="document.body.className='white'"> <input type="button" value="Gray" onClick="document.body.className='gray'"> <input type="button" value="Blue" onClick="document.body.className='blue'"><br> テーブル1: <input type="button" value="White" onClick="document.getElementById('t1').className='white'"> <input type="button" value="Gray" onClick="document.getElementById('t1').className='gray'"> <input type="button" value="Blue" onClick="document.getElementById('t1').className='blue'"><br> テーブル2: <input type="button" value="White" onClick="document.getElementById('t2').className='white'"> <input type="button" value="Gray" onClick="document.getElementById('t2').className='gray'"> <input type="button" value="Blue" onClick="document.getElementById('t2').className='blue'"><br> </form> <table width=100% id="t1"> <tr><td>test</td></tr> </table> <table width=100% id="t2"> <tr><td>test</td></tr> </table> </body>

  • Struts2のifタグについて

    いつもお世話になっております。 現在Struts2の学習を行っているのですが、 iteratorでlistの中のmapの値を取得しているのですが、 データを表示させるか判定に使用するifのタグの条件に propertyタグで取得した値を使用としたら、 正しく判定されませんでした。 どうしたらifタグのtest属性内でpropertyタグを使用できるでしょうか? <table> <s:iterator id="categoryList" value="categoryList" status="rowstatus" > <s:property value="CATEGORYNAME"/> <table border="3"> <s:iterator id="categoryTopicList" value="categoryTopicList" status="rowstatus" > <s:if test='<s:property value="TCID"/> == <s:property value="CATEGORYID"/>'> <tr> <td><s:property value="CATEGORYID" /></td> <td><s:property value="TCID" /></td> <td><s:property value="TOPICNAME" /></td> <td><s:property value="PROCEDURE"/></td> </tr> </s:if> </s:iterator> </table> </s:iterator> というようにjspは記述しています。 ifタグを使わずに表示させると値は取得されていたのでDBエラー等ではありませんでした。 使用しているstruts2のバージョンは2.0.14です。 ifタグにpropertyタグの値を条件として記述する方法を教えてください。 よろしくお願いします。

    • ベストアンサー
    • Java
  • javascriptでinput属性の入力

    複数のボタンがあります。 それぞれのボタンによって、value値を変えたいと考えています。 通常であれば <button class='button' type='submit' name='volume' value='350'>350購入</button> <button class='button' type='submit' name='volume' value='450'>450購入</button> という形を利用しますが、理由があり、 type='submit' を使用できません。 そこで、 <input id="button350" type="button" value="350購入" /> <input id="button450" type="button" value="450購入" /> というsubmit属性の無いボタンを使用しながら、「javascriptを使いname value を抽出しsubmitまで持っていく」ことを考えています。 そこで、下記のようなものを2種類(350と450は別の記載方法でテスト)作ってみましたが、いずれもsubmitは出来ますが、value値を渡すことが出来ません。 どのように書けば、name属性にvalue値を渡すことが可能でしょうか? <form action="abc.php" method="post" name="form2" id="form2"> <script> $(function(){ $('#button350').click(function() { $('input[type=\'submit\']'); $('input[name=\'volume\']'); $('input[value=\'350\']'); $('#form2').submit(); }); $('#button450').click(function() { $('input[type=\'submit\'],[name=\'d4_buy_stock_volume2\'],[value=\'450\']'); $('#form2').submit(); }); }); </script> <BR> <BR> <input id="button350" type="button" value="350購入" /> <BR> <input id="button450" type="button" value="450購入" /> </form>

  • サーブレットからJSPへの変数受け渡し

    はじめまして 下記の件で大変困っております。どなたか対処方法など知っておりましたらご教授お願いいたします。 現在、サーブレットからJSPへ変数を受け渡す際にJSPのテキストフィールド(value値)に変数を受け渡すことができない状況です。 下記のソースでコーディングしておりますが、「<=request.getAttribute("number")%>がvalue上で変数として認識いないようです。 [現在組んでいるソース」 <td><INPUT type="text" size="6" maxlength ="6" name="number" value ="<%=request.getAttribute("number")%>" ></td> 下記の件を試しましたが、うまくいきませんでした。 1."の前に\を記載→value =\"<%=request.getAttribute("number")%>\" 2.テキストフィールド外で表示した場合、正常に値を表示できる。

専門家に質問してみよう