- PR -

【javascript】 textarea内で、指定した文字が何行目か取得したい

1
投稿者投稿内容
はむねこ
会議室デビュー日: 2007/11/28
投稿数: 9
投稿日時: 2008-08-12 13:44
textarea内の特定の文字が何行目であるか、取得する方法はあるでしょうか?

textarea内に入力された文字に、機種依存文字があった場合、
「n行目のaaという文字は使えません」といったalertを
出したいと思っています。

どなたかヒントがあればお願いいたします。
ひろれい
ぬし
会議室デビュー日: 2006/03/02
投稿数: 486
お住まい・勤務地: 万博開催地
投稿日時: 2008-08-12 13:59
引用:

はむねこさんの書き込み (2008-08-12 13:44) より:

textarea内の特定の文字が何行目であるか、取得する方法はあるでしょうか?

textarea内に入力された文字に、機種依存文字があった場合、
「n行目のaaという文字は使えません」といったalertを
出したいと思っています。

どなたかヒントがあればお願いいたします。


textarea内で、指定した文字が何行目か取得したい
http://www.gac.jp/article/index.php?stats=question&id=22431&command=msg
mio
ぬし
会議室デビュー日: 2005/08/25
投稿数: 734
お住まい・勤務地: 神奈川県
投稿日時: 2008-08-12 17:29
かなりアレですが。

1. textareaにwrap="hard"をつけると、見た目の改行と同じ位置に改行が入れられて送信される。
2. formのtargetを見えないiframeにしておいて、サーバ側でチェックしてiframeのonloadで結果を表示。
はむねこ
会議室デビュー日: 2007/11/28
投稿数: 9
投稿日時: 2008-08-13 16:43
回答ありがとうございます。
マルチポスト申し訳ございません。
http://www.gac.jp/article/index.php?stats=question&id=22431&command=msg

今回、textarea内の本文をメールマガジン本文としてDB登録後、
メルマガ発行する、というシステムを作成しております。

mio様の案で、何行目かは取得できると思います。
また、メルマガという特性から、編集者の意図しないところに改行コードはいれられませんので、登録時フォームはwrap="hard"を解除してポストするなどすれば、
なんとかなりそうな気がします。(試してはいません)

ただ、入力チェックにしては、手がかかるなあというのが
正直なところです。
(また、上記が実現できたとしても、textarea横に、行数表示が無いと意味が
無いと思うのですが、それまた実現するのが難しそうな気がして・・・)

顧客からの要望だったのですが、
要は、長い文字列内で、どこがエラーなのか、
が分かればよいので、別の案を提案してみようと思います。

ありがとうございました。
rain
ぬし
会議室デビュー日: 2006/10/19
投稿数: 549
投稿日時: 2008-08-13 16:57
引用:

はむねこさんの書き込み (2008-08-13 16:43) より:

顧客からの要望だったのですが、
要は、長い文字列内で、どこがエラーなのか、
が分かればよいので、別の案を提案してみようと思います。



これまた手間がかかるかもしれませんが、確認画面を別に用意しちゃうとか。
間違っている箇所の色を変えて表示してあげればわかりやすそう。
はむねこ
会議室デビュー日: 2007/11/28
投稿数: 9
投稿日時: 2008-09-18 16:56
rain様、ご回答ありがとうございます。
rain様と同じ案で実装しました。
遅くなりましたが結果をご報告いたします。

1.textareaへ入力
2.入力値の機種依存文字をチェック
3.別画面に、入力textareaと同じ幅のdivを用意し、入力textareaと同じ
文字サイズで出力(これで自動改行の場所も同じになる)。
機種依存文字については文字色と文字サイズを変更して目立たせる。

で、お客様からもOKが出ました。

ありがとうございました!
1

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