WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:<textarea>無いの行数の取得

0:[投稿] mm [2004/01/26 23:36 ][環境:ie6、nn7 ]

<textarea>内に入れられた行数を調べる方法は無いでしょうか?

具体的には、<textarea rows="10">などと最初から縦幅を大きく
とるとかさばるため、setIntervalかなにかで監視する形で入力さ
れた文字列の行数が増えるごとにrowsかもしくはstyleのheightで
広くする方法をとりたいのですが、現在のtextarea内の行数を取得
する方法がわかりません。
どうにかならないでしょうか?


1:[回答] pugtoro [2004/01/27 02:11 ]

ヒント
改行をカウントする。

最終行は改行が無い場合があるのでそこだけはちょっとだけ
注意を払う事。

例:
while ((index = textAreaValue.indexOf("\r")) != -1) {
  lineCount++;
  textAreaValue = textAreaValue.substr(index);
}
if (textArea.length > 0)
  lineCount++;
注:改行は"\r" かどうかは知りません。ご自分で調べてね。


2:[回答] pugtoro [2004/01/27 02:12 ]

誤:
if (textArea.length > 0)

訂正:
if (teztAreaValue.length > 0)


3:[回答] mm [2004/01/27 14:01 ]

<textarea>内は自動改行されるため、\nの数を数えても
行数が分かりません(泣)


4:[回答] mama [2004/01/27 15:11 ]

行数が増えるごとに広くする方法ということであれば、行数そのものは取得できなくてもいいですか?

<html>
<head>
<script type="text/javascript">
var timerID;
function timerX(){
    if(document.all.t1.scrollTop>0){
        document.all.t1.rows=document.all.t1.rows+1;
    }
}
</script>
</head>
<body onLoad='timerID = setInterval("timerX()",200);'>
textarea自動拡張<br>
<textarea name="t1" rows="1">textarea</textarea>
</body>
</html>


5:[完了] mm [2004/01/27 16:16 ]

ありがとうございます。
まさにこれです。有り難うございました。
こういうアイデアもあるんですね...。

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]

ChaichanPAPA's World