- PR -

Struts1.1でのJSP作成について

1
投稿者投稿内容
未記入
ベテラン
会議室デビュー日: 2004/08/18
投稿数: 81
投稿日時: 2005-11-18 16:22
Struts1.1を使い、初めてJspを作成していますが、
Strutsの知識不足でうまくいきません。

行いたいことは、フォームに名前をつけてその名前の
テキストボックスとかボタンをJavaScriptで制御したいのです。
<form>タグに名前が付けられない為、作業まっている状態です。
対策があれば教えて下さい。宜しくお願いします。

イメージとしては、

1.送信ボタン押す
<html:button property="sosinBtn" value="送信" onClick="sosinBtnnClick()"/>
※以後、ボタンが複数になるのでボタンに応じたJavaScriptメソッドを作成したいが
 このタグは、onClick="sosinBtnnClick()"が使えない。

2.<form>タグに名前を付け、
<html:form name="mainFm" method="post" action="/actinsample">
※このタグは、name="mainFm"が使えない。

3.JavaScriptで制御したい。
mainFm.simei.style.backgroundColor = "White";
mainFm.sosinBtn.disabled = true;
mainFm.submit();

--------------------------------------------------------

<%@ page language="java" pageEncoding="UTF-8" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>

<script language='JavaScript'>
<!--
function sosinBtnnClick()
{
simei.style.backgroundColor = "White";

submit();
}
//-->
</script>

<html:html>

<head>
<title>サンプル</title>
</head>

<body><center>

<html:form method="post" action="/actinsample">

氏名を入力してください<br><br></b>

氏名:<html:text property="simei" maxlength="20" size="20"/>

<html:button property="sosinBtn" value="送信"/> 
</html:form></center>
</body>
</html:html>

ペーぺー01
常連さん
会議室デビュー日: 2005/05/29
投稿数: 45
投稿日時: 2005-11-18 17:18
おつかれさまです。
同じく初心者ですが回答にトライ^−^

1.<html:button property="buttonA" value="アラート" onclick="aFunc()" />
  動きましたが・・・

2.name属性にはBean名称を設定します。name属性を省略した場合struts-config.xmlのaction-mappingsに定義したFormBeanが自動的に設定されます(以下の定義の場合フォーム名称は「actinsampleForm」になります)。

<action path="/actinsample"
name="actinsampleForm"
type="jp.co.main.business.actinsampleAction"
scope="request"
validate="true"
input="/jsp/core/Test.jsp">
<forward name="success" path="/jsp/core/TestResult.jsp"/>
</action>
3.は・・・ 何の質問でしょう?2番の問題と絡んでるのであれば、
  フォーム名称を2番の回答を参考に変更すればOkです。

以上です。
未記入
ベテラン
会議室デビュー日: 2004/08/18
投稿数: 81
投稿日時: 2005-11-18 22:50
ペーぺー01さん、有難うございます。

指摘の修正でうまくいきました。
ただ、ボタンを非活性するコード
「mainFm.sosinBtn.disabled = true;」
は、mainFmでどうやってメンバーを作成し、
getter・setterするのだろうと思っていましたが
mainFmでは定義しないでいいですね。
(なるほどって感じです。)
1

スキルアップ/キャリアアップ(JOB@IT)