2012-02-21 4 views
0

私たちは、人々がHTML形式のテキストを入力できるようにするフォームを用意しています。その入力はWebページ上の他の場所に表示されます。HTML形式のファイルに見えるテキストの行を数えることはできますか?

レイアウトの制約のため、入力はX線よりも長くなることはありません。ウェブページに編集されたテキストのプレビューはありません。提出時の入力はすぐに公開されます。 (私はレイアウトを修正できない理由:問題のテキストはイメージの上にオーバーレイとして表示されます。オーバーレイはイメージのサイズに関連して固定されています。以上)

私は人々があまりにも多くのテキストを入力しないようにするために何かを実装するよう求められています。

私の最初の試みは "maxLength"のために行っていましたが、入力のhtmlフォーマットの可能性のために間違っています。

明らかに2つの1.ユーザーがスマートであることを期待している、そして/または2.プレビュー方法を実装している場合、他にどのようにこれを解決できますか?

それはテクノロジーが使用

不可能である理由私はアイデアを、私も説明を受け入れるだろうしています

ます。java、改札1.4.xの

+2

この回答を見るhttp://stackoverflow.com/a/3149645/1030409 – Patrick

+2

htmlには行の概念がないので、わかりません。 – bert

+0

* "レイアウトの制約のため、入力がX線より長くなることはありません。" *レイアウトを修正しました。テキストサイズを通常の4倍にすると、サイトは継続して動作することが期待されます。 –

答えて

1

を私はこれかもしれウェブ開発の専門家ではありません正確な答えではない。

ブラウザでレンダリングされたHTML要素の有効サイズを取得することができます。したがって、1つの解決策は、ページをサーバー側にレンダリングし、結果が期待したサイズを超えているかどうかを確認することです。

ただし、サーバーがクライアントとは異なる方法でページを表示する可能性があるため、正しい結果が得られないことがあります。入力を受け入れることもできますし、クライアントがページをレンダリングするときに、レンダリングされた結果が正常かどうかをチェックするJavaScriptのスニペットを付けてください(今度はクライアント側)。そうでない場合は、javascriptでクライアントをエラーページにリダイレクトして、入力内容を編集できるようにします。

しかし、ユーザーがあまりにも多くのテキストを入力すると、何も壊れないようにレイアウトを変更することです。 CSSのオーバーフロープロパティを使用することは、始めることができます。あなたは、あなたが望むサイズにフィットするまで動的にテキストサイズを変更するなどの、より良いソリューションをjavascriptで実装することもできます。

+0

これは非常に興味深い(私はレイアウトを修正することはできません上記のように、テキストは単にそれが上に表示される画像よりも大きくなることはありません)聞こえます。私はこのjavascriptについてもっと知ることができれば幸いです。ありがとう。 – Yashima

+2

また、目に見えないdivに入力してマークアップをレンダリングしてサイズを確認することもできます。 – biziclop

+0

このソリューションでは、スタイルを用意する必要があります。コンテンツはまったく別のサーバーに公開されているため、(少なくとも些細なことではないが)私は持っていない。それはまだそこにある最善の解決策のように聞こえる。ありがとう。 – Yashima

関連する問題