• 締切済み

strutsの画面遷移無しでtextの値をボタンで操作したいのですが・・・

最近strutsを始めた者です。よろしくお願いします。 画面上でボタンを押すとtextに表示中の値に”さん”を付けて textに再表示(画面遷移ナシ)されるといった 動作をさせたいのですが上手くいきません。 javascriptの関数がおかしいとおもうのですが・・・ 以下にソースを付けますのでどなたかご教授願います。 <%@page contentType="text/html; charset=Shift_JIS" %> <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %> <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %> <html:html locale="true" > <BODY> <html:form action="/HelloWorld" > <SCRIPT LANGUAGE=javascript> <!-- function addItem( obj1 ){ var txt = obj1; if ( txt.value == "" ) return; var test = txt.value + "さん"; obj1.value = test; } --> </SCRIPT> <bean:message key="greeting" /><BR> お名前をどうぞ。 <BR><html:text property="name" /><BR> <html:button property="button" value="textの値にさんをつける" onclick="addItem(this.form.name,);" /> </html:form> </BODY> </html:html>

みんなの回答

  • kotecho
  • ベストアンサー率66% (6/9)
回答No.1

関数に渡している引数が原因のようです。 > onclick="addItem(this.form.name,); javascriptの this は使われる文脈によって指示するものが変わります。 ※関数の先頭で以下一行を追加して確認することをお勧めします。  alert(obj1.value); 対応としては、以下の方法でよいかと思われます。 onclick="addItem(document.forms[0].name);"

m41777_01
質問者

お礼

ありがとうございました。 早速試してみます

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • strutsのApplicationResource.propertiesの文字化けについて

    表題の通りstrutsのApplicationResource.propertiesを利用した部分が文字化けしてしまいます 以下にファイルの詳細を記述します。 JSPファイル <%@page contentType="text/html; charset=Shift_JIS" %> <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%> <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%> <html:html> <BODY> <html:form action="/HelloWorld" > <bean:message key="greeting" /><BR> お名前をどうぞ。<BR><html:text property="name" /><BR> <html:submit> <bean:message key="greeting" /> </html:submit> </html:form> </BODY> </html:html> ApplicationResource.propertiesのファイル greeting=こんにちは welcome=ようこそ 状況 「お名前をどうぞ」は正しく表示 keyのgreetingは?±????????と表示 以上のような状態となってしまいます。どなたか解決策をご存じの方はご教授ください

    • ベストアンサー
    • Java
  • charsetについて教えてください。

    StrutsのJSPで開発しています。 ------------------------ <%@ page contentType="text/html;charset=Windows-31J" language="java" %> <%@ taglib uri="struts-bean.tld" prefix="bean" %> <%@ taglib uri="struts-html.tld" prefix="html" %> <%@ taglib uri="struts-logic.tld" prefix="logic" %> <%@ taglib uri="c.tld" prefix="c" %> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <META http-equiv="Pragma" CONTENT="no-cache"> <META http-equiv="Content-Style-Type" content="text/css"> ------------------------ 以上のように記述した場合、 JSP側のcharsetとMETAタグのcharsetでは、 どちらが優先度が高くなるのでしょうか? 教えてください。

  • 教えてください:strutsのhtml:formタグがjspに展開された状態の、actionの値について

    java初心者です。 どなたか教えていただけませんでしょうか? JAVAのstrutsを使用してソフトを作成しています。 JSPに記載した「<html:form action="/authentication" focus="id"> 」 との記述が、WEB(IE)に展開されたソースを見ると、「<form name="AuthenticationForm" method="post" action="/strutsTest/authentication">」 に変換されています。 action="/authentication"と記述しているにもかかわらず、 action="/strutsTest/authentication"と展開されているのですが /strutsTestが自動的に付与されているのは、なぜなのでしょうか? なにか設定するところがあるのでしょうか? ※struts-config.xmlに指定したpathと一致しない為、404NotFoundになるので自動設定しないように変更したいのです。 ちなみに環境は struts-1.3.10 Apache Tomcat 6.0.14 Server EclipsVersion: 3.4.2 pakage名:struts プロジェクト名:strutsTest struts-config.xmlの設定   <form-beans> <form-bean name="AuthenticationForm" type="struts.AuthenticationForm"/> </form-beans> <global-exceptions> </global-exceptions> <global-forwards> <forward name="fail" path="/login.jsp"/> </global-forwards> <action-mappings> <action path="/authentication" name="AuthenticationForm" type="struts.AuthenticationAction" scope="session"> <forward name="success" path="/welcome.jsp"/> <forward name="fail" path="/login.jsp"/> </action> </action-mappings> login.jsp <%@ page contentType="text/html; charset=Windows-31J" %> <%@ taglib uri="/tags/struts-bean" prefix="bean" %> <%@ taglib uri="/tags/struts-logic" prefix="logic" %> <%@ taglib uri="/tags/struts-html" prefix="html" %> <html:html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Windows-31J"/> <title>ログイン画面</title> </head> <body> <html:errors/> ID・パスワードを入力してください。 <html:form action="/authentication" focus="id"> <html:text property="id" size="16"/> <br> <html:password property="pas" size="16" redisplay="false" /> <br> <html:submit property="submit" value="送信"/> <html:reset value="リセット"/> </html:form> </body> </html:html> 動作順は、login.jsp => AuthenticationAction.class => welcome.jsp です。 よろしくお願いします。

  • 「StrutsによるWebアプリケーションスーパーサンプル」の本のサンプルのエラーについて

    「StrutsによるWebアプリケーションスーパーサンプル」(ソフトバンククリエィティブ)の本のP.124ページの「2-1」電子カタログを作ろうのサンプルなのですが、 P.125~128に記載されているデータベースの作成をして、2-1.warファイルをtomcatのwebappsのフォルダの なかにコピーしてtomcatを起動するとうまく解凍されてhttp://localhost:8080/2-1/Catalog.doにアクセスすると 正常に表示されたのですが、その解凍したファイルをeclipse側で2-1というプロジェクトを作成してインポートして strutsのlibの下のjarを追加してやると、 インポート javax.sql.DataSource は決して使用されません。の警告がでていました。 ソースのなかではDataSourceは使用しているのに警告が出ていたのが気になります。l http://localhost:8080/2-1/Catalog.doにアクセスすると以下のようなエラーが表示されました。 <エラー> org.apache.jasper.JasperException: 絶対URI: http://jakarta.apache.org/struts/tags-bean は web.xmlまたはこのアプリケーションを配備したJARファイルのどちらかでも解決できません 以下の内容をweb.xmlに追加して解決しました。 <web.xml> <taglib> <taglib-uri>/tags/struts-bean</taglib-uri> <taglib-location>/WEB-INF/tld/struts-bean.tld</taglib-location> </taglib> <taglib> <taglib-uri>/tags/struts-html</taglib-uri> <taglib-location>/WEB-INF/tld/struts-html.tld</taglib-location> </taglib> <taglib> <taglib-uri>/tags/struts-logic</taglib-uri> <taglib-location>/WEB-INF/tld/struts-logic.tld</taglib-location> </taglib> <taglib> <taglib-uri>/tags/struts-tiles</taglib-uri> <taglib-location>/WEB-INF/tld/struts-tiles.tld</taglib-location> </taglib> <taglib> <taglib-uri>/tags/struts-nested</taglib-uri> <taglib-location>/WEB-INF/tld/struts-nested.tld</taglib-location> </taglib> <taglib> つぎに、http://localhost:8080/2-1/Catalog.doにアクセスすると HTTP Status 404 - /2-1/Catalog.doのエラーがでて原因がわからなくてこまっています。 データベースが作成されていることは確認しています。 開発環境についてはCDに付属のものを使用してバージョンはあわせています。 tomcatでwarを解凍して削除すると設定データのごみが残っているのかなと思いまして、一度eclipseとtomcatを削除 して再インストールをしてもうまくいきませんでした。 C:\Program Files\Apache Group\Tomcat 4.1\confのなかのserver.xmlのなかには設定は追加されていることは 確認しています。 <Context path="/2-1" reloadable="true" docBase="C:\eclipse\workspace\2-1" workDir="C:\eclipse\workspace\2-1\work\org\apache\jsp" /> あと、DFツール、ファイル作成機でファイルとソースの内容を比較してみましたが、 おかしなところはありませんでした。 warファイルをtomcatのwebappsに入れるとエラーなくうまくいくのですが、eclipseからだとエラーになります。 どうかご教授よろしくお願いします。

  • Struts 1.3 でbeanタグが認識されない

    Struts初心者です。 Struts1.3で以下のようなJSPを作成していますが、 "bean:write"のところで、"bean"に対応するtaglibディレクトリが存在しないかTLDファイルが見つかりません。 とエラーになります。 <%@ page contentType="text/html;charset=Windows-31J" %> <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %> <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %> ・ ・ ・ <html:html> <head> <title>○○○○○○○○</title> </head> <body> <h1>○○○○○○○○</h1> ●●●●<bean:write name="xxxx" property="id" />! </body> </html:html> "html"の方はエラーになりません。 ケアレスミスのような気がしていますので、どなたか教えていただけると嬉しいです。

  • Struts、Iterateタグの使い方

    StrutsのIterateタグを使おうとしているのですが、 jsp.error.unterminated.tagというエラーが出てしまい ます。Iterateタグの使い方に問題があると思うのです が、どのように対処すれば良いのかが分かりません。ご 存知の方、教えて頂けませんでしょうか。お願いしま す。 <%@ page language="java" import="java.util.Collection, aloha.business.UserBO" %> <%@ taglib uri="/WEB-INF/tlds/struts-logic.tld" prefix="logic" %> <%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %> <jsp:include page="header.jsp" flush="true" /> <% UserBO UserBO = new UserBO(); Collection col = userBO.findAllUser(); %> <table><tr> <logic:iterate id="user", name="col", length="5"> </logic:iterate>

    • ベストアンサー
    • Java
  • strutsについて

    eclipseとTomcat、strutsの勉強をしているのですがjspをブラウザからhttpで実行すると 「タグ "html:errors" にタグハンドラクラス "org.apache.struts.taglib.html.ErrorsTag" をロードできません」 とエラーがでてしまいます。 html:errorsをコメントアウトして実行すると、その次に使用しているhtml:formを使用している箇所でエラーになってしまいます。 struts.jarは関連させていますし。tblも関連させていると思っています。いろいろ検索してみたのですが対処方法がわかりません。 <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %> これをjspに記載していますが、WEB-INF配下にtldファイルがあれば特に問題ありませんよね?ファイル構成も大丈夫だとは思うのですが。 有識者がおりましたらご教授お願いします。情報が不足しているので指摘をお願いします。

  • JSPの文字化けについて

    はじめまして。 初心者ですがよろしくお願いします。 現在、Strutsの勉強をしています。 ログイン画面を作成しているのですが、 以下の「logon.jsp」を表示したところ 文字化けが発生しました。 自分の思いつく限りの事は試したのですが、 一向に文字化けを解消できません。 どこが悪いのかお分かりになる方が いらっしゃいましたらご教示願います。 ○主な環境 OS:WindowsXP Java SDK :1.5.0_01 Eclips :3.0.1 Struts :1.2.4 Apache Tomcat:5.5.4 mysql :5.0.4-beta ○logon.jsp <%@ page contentType="text/html;charset=Windows-31J"%> <%@ page pageEncoding="Windows-31J" %> <%@ taglib uri="/WEB-INF/tld/struts-html.tld" prefix="html" %> <!-- %@taglib uri="struts-html" prefix="html" % --> <html:html> <head><title>ログオン画面</title></head> <body bgcolor="#ffffff"> <center> <h3>ログオン画面</h3> <html:form action="/logon"> <html:errors /> <table border="0"> <tr><td>ユーザID </td><td><html:text property="userName" size="20" maxlength="30" /> </td></tr> <tr><td>パスワード</td><td><html:password property="password" size="20" maxlength="30" /></td></tr> </table> <br></br><br></br> <html:submit value="ログオン" /> </html:form> </center> </body> </html:html>

    • ベストアンサー
    • Java
  • TOMCATを使用したStrutsエラーについて

    動作環境 OS:WindowsXP Browser:IE8 Tomcat6.0 Tomcatをインストールしたwebapps直下にあるjspファイルを実行したいと思っています。 その中にStrutsを使用する記述があるのですが、実行するとエラーが出ます。 ネットでも色々と調べたのですが、原因がつかめません。 1.jspファイル <%@ page pageEncoding = "Shift_JIS" %> <%@ page contentType="text/html; charset=Shift_JIS" %> <%@ taglib uri="/tags/struts-html" prefix="html" %> <html> <body> <html:form action="cancel_view" > <html:text property="stringData" size="15" maxlength="15" /> <html:submit property="submit" value="送信" /> </html:form> </body></html> 2.web.xmlファイル <taglib> <taglib-uri>/tabs/struts-html</taglib-uri> <taglib-location>/WEB-INF/struts-html.tld</taglib-location> </taglib> 3.エラー内容 3.1.IE8 org.apache.jasper.JasperException: JSP ファイル "/tags/struts-html" が見つかりません 3.2.Tomcat6 2010/11/20 21:13:17 org.apache.jasper.compiler.TldLocationsCache processWebDotXml 警告: 内部エラー: ファイル /WEB-INF/web.xml が見つかりません 「1.」の3行目にエラーがあるみたいです。何故ならその行を外せばエラーは消えます。 ですが、何も表示されません。 「3.2.」にweb.xmlは保存されています。そこに必要な*.tldファイルも保存されています。 libフォルダも作り動作に必要な*.jarファイルを保存しています。 web.xmlがあるにもかかわらず、見つかりませんと出るのは何故でしょうか? 環境変数のパスが足りないとも思えません。 どなたか詳しい方、エラー解消のご教授の程よろしくお願いします。

  • web.xmlでtaglib-locationを設定する理由

    web.xmlでtaglib-locationを設定する理由 質問させてください。 strutsでwebプログラミングの勉強をしています。 タグライブラリを使用する際に、web.xmlに<taglib-location>なるものを以下のように記載する必要があることを学びました。 <taglib> <taglib-uri>/tags/struts-html</taglib-uri> <taglib-location>/WEB-INF/struts-html.tld</taglib-location> </taglib> これを設定する理由はなんでしょうか? 素人考えでは、シンプルにtaglib-uriに記載しているところにライブラリファイルを置けばよい気がします。 セキュリティ関係の理由があるのでしょうか?(確か、WEB-INF以下のディレクトリは利用者から見れない設定だったと記憶しています) 初歩的な質問の気もしますが、どなたか教えていただけると幸いです。 以上よろしくお願いいたします。

    • ベストアンサー
    • Java
このQ&Aのポイント
  • 短期バイトしか経験のない状況は就活に不利なのでしょうか。企業側には、短期=飽き性→職を転々とする、というイメージを持たれてしまうのでしょうか。
  • 人事の方はバイトの経験をどれくらい選考上考慮にいれているのでしょうか。この際、バイト経験はアピールしない方が良いのでしょうか。
  • 短期バイト経験の影響やアピール方法についてお答えします。短期バイトしか経験のない状況が就活にどのような影響を与えるのか、企業側がどのようなイメージを持つのかについて解説します。また、人事の方がバイトの経験をどれくらい選考上考慮にいれるのか、バイト経験のアピール方法をご紹介します。
回答を見る

専門家に質問してみよう