• 締切済み

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