Можно ли считать строки видимого текста в файле формата HTML? - PullRequest
0 голосов
/ 21 февраля 2012

У нас есть форма, которая позволяет людям вводить текст в формате html, и этот ввод затем отображается в другом месте на веб-странице.

Из-за ограничений макета ввод может быть не длиннее X строк.Нет предварительного просмотра отредактированного текста на веб-странице.Вклад по отправке немедленно публикуется.(Краткое объяснение, почему я не могу исправить макет: рассматриваемый текст отображается в виде наложения над изображением. Наложение имеет размер, равный размеру изображения, и оно является фиксированным. Текст должен быть полностью видимым внутри этого наложения и не должен проливатьсяover.)

Меня просят внедрить что-то, чтобы люди не могли вводить слишком много текста.

Моя первая попытка была для maxLength, но не сработала из-за возможности html-форматированиявход.

Помимо очевидных двух: 1. ожидающих, что пользователи будут умными и / или 2. реализующих метод предварительного просмотра, как еще мы могли бы решить эту проблему?

У меня нет идей, я также приму объяснение, почему это невозможно

Используемая технология: java, wicket 1.4.x

1 Ответ

1 голос
/ 21 февраля 2012

Я не специалист по веб-разработке, так что это может быть не совсем точный ответ.

Используя javascript, вы можете получить эффективный размер HTML-элемента после его рендеринга в браузере.Таким образом, одним из решений может быть рендеринг страницы на стороне сервера и проверка, превышает ли результат ожидаемый вами размер.

Однако это может не гарантировать правильного результата, поскольку сервер может отображать страницу не так, как клиент,Вы также можете всегда принять входные данные, тогда, когда клиент отображает страницу, у вас есть фрагмент javascript, который проверяет (на этот раз на стороне клиента), в порядке ли предоставленный результат.Если это не так, то пусть javascript перенаправляет клиента на страницу ошибки, чтобы он мог редактировать свои входные данные.

Однако я бы изменил макет, чтобы ничего не сломалось, если пользователь тоже входитмного текста.Использование свойства CSS overflow может быть началом.Вы также можете реализовать более эффективные решения в javascript, такие как динамическое изменение размера текста, пока он не будет соответствовать желаемому размеру.

...