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

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

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

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

Windows 7

Microsoft Windows 7は過去にリリースされたMicrosoft WindowsのOSであり、Windows8の1代前です。2009年の7月にリリースされ販売されました。Windows7の前はWindowsVistaで、その更に3年前にリリースされました。

Java

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

HTML

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

Q&A

解決済

1回答

5533閲覧

Java JSP テキストエリア折り返しについて

Alice0225

総合スコア206

JSP

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

Windows 7

Microsoft Windows 7は過去にリリースされたMicrosoft WindowsのOSであり、Windows8の1代前です。2009年の7月にリリースされ販売されました。Windows7の前はWindowsVistaで、その更に3年前にリリースされました。

Java

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

HTML

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

0グッド

0クリップ

投稿2016/10/26 06:13

現在、既存のWebアプリ改修を行っています。
あるページ(JSP)中に下記のようなテキストエリアがいくつかあります。

HTML

1<html:textarea property="riyousya" styleClass="widthauto" rows="1" style="overflow:hidden;" onkeydown="if(event.keyCode==13){ if(window.event.srcElement.type!='image'){return false;}}"/>

1行のテキストエリアで「エンターキーで改行・Submitしない」という仕様です。
1行入力なのにtextではなくtextareaを使用している理由としては下記の理由のようです。

JavaScript

1var textarea = document.getElementsByTagName("text"); html:textが取得できない 2var textarea = document.getElementsByTagName("textarea"); html:textareaが取得できる 3~以下取得したtextareaに対しての働き~

既存のプログラムの動きとしては問題ないのですが、
wrap="off"が使えず(未定義の属性名 "折り返し"と表示される)、横幅以上の文字数を入力した際に折り返した表示となってしまいます。
(機能では問題なく、ただ見た目が思わしくないから直したいとのこと)

上記コードを使用し横幅以上に文字列を入力した際、折り返しではなく横に続いていくようにすることは可能なのでしょうか。またその手順などありましたらお伺いしたいです。
免罪符にならないことは承知しておりますが、初心者であるため不明な点も多いです。
皆様のお力をお借りできれば幸いです。

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

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

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

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

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

guest

回答1

0

ベストアンサー

以下はいずれもStruts1のカスタムタグで、それぞれ
<html:text>は、<input type="text">を生成します
<html:textarea>は、<textarea>を生成します

ですので、getElementsByTagName("text"); は <text ... >を取得しようとしているが、そのような要素はないので取得できませんが、<textarea>はそのまま要素名なので取得できるのです。

なおgetElementsByTagNameでは、その要素名のタグすべてが対象になる(なのでelementsと複数形です)ので、できれば各入力要素に重複を許可しないid属性をつけていき、getElelemtByIdを使うのが良いでしょう。

投稿2016/10/26 06:43

A-pZ

総合スコア12011

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

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

A-pZ

2016/10/26 06:44

あとテキストエリア内の改行設定は、HTML5から有効になったものです。Struts1のカスタムタグでは対応できません。
Alice0225

2016/10/26 07:15 編集

ご回答頂きありがとうございます。 <html:text>に対してidを使用することはできるのでしょうか? 試したところ「未定義の属性名 "id"」と表示されてしまいます… (追記)styleIdでしょうか?
A-pZ

2016/10/26 07:35

失礼しました。styleIdを指定すると、HTML出力ときには id 属性が出ます。
Alice0225

2016/10/26 07:49

A-pZさんのご回答に基づき各入力要素に「styleId="~~~"」を指定し、getElelemtByIdを使用することでtextarea,text等関係なく現在の仕様のまま改修することが出来ました。 一度「id=""」が使用できなかった為、このタグにはidが使えないんだと思い込んでしまっておりました。(ほかにid指定する方法がないかすら調べませんでした…) 本当に感謝です。
A-pZ

2016/10/26 09:10

d(・ω・
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問