Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 2
Регистрация: 30.09.2012
Сообщений: 111

Javascript не может провести проверку форматированной строки

09.10.2012, 01:05. Показов 1004. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребят, помогите разобраться, твориться какая-то непонятная ахинея или я просто дико туплю
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
function validate_form ( )
{
    valid = true;
    var fname = document.contact_form.description.value;
 
        if ( fname.length < 100 )
        {
                alert ( "Текст записи должен быть длиннее 100 символов!" );
                valid = false;
        }
 
        
 
         if ( fname.length > 9999 )
        {
                alert ( "Текст записи должен быть короче 9999 символов!" );
                valid = false;
        }
 
        
        return valid;
}
вот такой скрипт обработчик, который проверяет на длину строки
HTML5
1
2
3
4
5
6
7
8
9
<form action="zapostil.php" method="post" name="contact_form" onsubmit="return validate_form ( )">
           <label>Заголовок:</label></br>
           <input name="zagolovok" type="text" size="40" maxlength="50"></br>
           <label>Новый пост:
           <textarea name="description" id="elm1" cols="80" rows="30"></textarea>
           </label>
         </p>
         <input type="submit" name="submit" class="button" value="Опубликовать" id="submit">
         </form>
вот, собственно, форма, которая и обрабатывается

в форму в текстареа встроен редактор tiny_mce, перед проверкой на количество символов в строках таким образом
JavaScript
1
2
3
4
5
tinyMCE.init({
mode : "textareas",
theme : "advanced",
elements : "elm1" // тут прописывается название элемента, который мы будем добавлять к текстовому полю.
});
теперь пошли вопросы:
1.Почему, если я вставляю форматированный текст в текстареа у меня проверки php начинают ругаться при любом раскладе. Проверки такие:
PHP
1
if (iconv_strlen($text)>9999 or iconv_strlen($text)<100){header("Location: http://localhost/denwer/new.php?signal='Текст должен содержать не менее 300 и не более 9999 знаков!'"); exit();}
2.Почему когда я нажимаю на кнопку сабмит, у меня ПРИ ЛЮБОМ ТЕКСТЕ В ТЕКСТАРЕА (форматированном (т.е. скопипастеном откуда-то) неформатированном (введенном самому)) начинает ругаться яваскрипт, типо строка слишком короткая?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.10.2012, 01:05
Ответы с готовыми решениями:

Передача форматированной строки в метод
Здравствуйте. Возник вопрос: была программа, метод примерно так выглядел: double TangentSolve(double x0, int &amp;i ,bool print) { ...

Вывод форматированной строки со строго заданной длиной входящих элементов
Раньше в C++ можно было в форматированной строке задать сколько займет выводимое значение в символах. fprintf(fp, &quot;D 0 %-5ld %d...

Через цикл провести проверку
Хочу через цикл проверить все элементы строк на наличие положительного числа в столбце &quot;Количество&quot; на первом листе, и если...

9
Заблокирован
09.10.2012, 04:08
дайте, пожалуйста, ссылку на любой форум/блог, где реализовано подключение редактора tinyMCE для textarea и где не требуется регистрация для написания там чего-то - и я вам сразу же покажу: почему у вас не работает
0
0 / 0 / 2
Регистрация: 30.09.2012
Сообщений: 111
09.10.2012, 04:17  [ТС]
К сожалению, я не знаю где это найти, но вся проблема с пхп упирается в форматированный текст, соответственно, необходимо сделать так, чтобы в текст ареа попадал текст без форматирования, т.е. такой, какой он бывает при обычном наборе? может в тини есть какие-то настройки для этого?
0
Заблокирован
09.10.2012, 05:33
Voprosnik, вы что, никогда нигде не писали САМИ в редакторе tinymce?

в общем, я вам сам дам ссылку - на офсайте tinymce имеется демонстрация возможностей
http://www.tinymce.com/tryit/full.php - и откройте эту ссылку лучше всего в браузере FireFox

нажмите на странице на вкладку View Sourse и там увидите, что mode : "textareas", да и в самом низу строка есть
<textarea name="content" style="width:100%"></textarea>

а теперь вернитесь на View Example и попробуйте мышкой вызвать контекстное меню на этом самом поле ввода (который якобы <textarea>)

не получается?
их меню "гасит" браузерное?

правильно
но ведь я просил вас открыть именно в браузере FireFox
в нём вы можете кликнуть правой кнопкой мыши не по полю ввода, а чуть выше и в браузерном контекстном меню выбрать "Исследовать элемент"
там по html-коду спуститесь вниз и увидите - о, чудо! - форматированный текст вы вставляете не в <textarea>, а в <iframe>, документу в котором скриптом установлено designMode="On"
сам <textarea> всю дорогу стоит "пустой" и только перед самым сабмитом в него передаётся содержимое документа из <iframe>

ваш скрипт прописан непосредственно в теге <form> и имеет приоритет перед прописанной динамически инструкцией от скрипта tinymse - вы проверяете <textarea> и своей проверкой отменяете запланированную скриптом tinymse эту передачу содержимого

поэтому в PHP приходит девственная чистота, длина которой НУЛЬ, что естественно меньше, чем 100
0
0 / 0 / 2
Регистрация: 30.09.2012
Сообщений: 111
09.10.2012, 10:11  [ТС]
ок, убрал яваскрипт проверки, но пхп все равно упорно не хочет адекватно определять длину форматированного текста. Как можно сделать так, чтобы в редактор вставлялся не форматированный текст?
0
 Аватар для basili4
201 / 199 / 4
Регистрация: 13.06.2012
Сообщений: 1,009
Записей в блоге: 3
09.10.2012, 10:33
Voprosnik,
Цитата Сообщение от Voprosnik Посмотреть сообщение
. Как можно сделать так, чтобы в редактор вставлялся не форматированный текст?
Удалять форматирование.
0
0 / 0 / 2
Регистрация: 30.09.2012
Сообщений: 111
09.10.2012, 10:41  [ТС]
Цитата Сообщение от basili4 Посмотреть сообщение
Voprosnik,

Удалять форматирование.
в ручную? дело в том, что вставлять возможно будет пользователь, неужели нет возможности настроить редактор так, чтобы все, что в него попадало не имело форматирования? или может запретить вставку вообще?
0
Заблокирован
09.10.2012, 19:42
Цитата Сообщение от Voprosnik Посмотреть сообщение
Как можно сделать так, чтобы в редактор вставлялся не форматированный текст?
да просто не подключать редактор, вставлять текст просто в textarea

а если серьёзно, то дайте ссылку на свой проект - на "живом" примере можно дать конкретный "живой" совет... а так можно долго теоретизировать...

можно реально просмотреть (хотя бы простым alert'ом) - что находится в ифрейме в процессе редактирования текста сообщения,
и что именно передаётся из ифрейма в textarea перед сабмитом... но "живой" код нужен
0
0 / 0 / 2
Регистрация: 30.09.2012
Сообщений: 111
10.10.2012, 00:24  [ТС]
Цитата Сообщение от Notortep Посмотреть сообщение
да просто не подключать редактор, вставлять текст просто в textarea

а если серьёзно, то дайте ссылку на свой проект - на "живом" примере можно дать конкретный "живой" совет... а так можно долго теоретизировать...

можно реально просмотреть (хотя бы простым alert'ом) - что находится в ифрейме в процессе редактирования текста сообщения,
и что именно передаётся из ифрейма в textarea перед сабмитом... но "живой" код нужен
эх... проект на денвере... а вы не знаете редакторов, которые не сохраняют изначальное форматирование? мне нужно то только подчеркивание, жирный, курсив и все. т.е. минимальный функционал)
0
Заблокирован
10.10.2012, 02:24
Voprosnik, так сделайте сами
делов-то... как два пальца обмочить

зайдите на https://developer.mozilla.org/... in_Mozilla - там скопируйте код самого последнего примера
который под названием Example: a simple but complete Rich Text Editor
выкиньте из него ненужные вам "примочки" - и вперёд, да с песней


обратите внимание на javascript-код в теге <form>
там по onsubmit скрытому <input type="hidden" name="myDoc"> передаётся innerHTML редактируемого <div>'a
именно такую операцию редактора tinymse (только там содержимое ифрейма передавалось прописанному вами <textarea>) вы своим onsubmit'ом отменяли...
здесь всегда можно проверить длину innerHTML этого самого редактируемого <div>'а
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.10.2012, 02:24
Помогаю со студенческими работами здесь

Как провести проверку работоспособности компонентов ПК?
У меня проблема в том, что решил переделать комп, но не хочу тратить лишних денег. Он у меня старенький и сломанный. Какие-то из...

Провести проверку на ошибки при записи масива
В массиве два значение, при INSERT все ключи массива записываются в базу. При UPDATE обновляются все записи вторым ключом. Как провести...

Как можно провести полную проверку HDD дисков на производительность?
Подскажите, как можно провести полную проверку HDD дисков на производительность? Какой софт для этого можно использовать? Прога HDDSkan...

Как в Simulink провести проверку гипотезы по критерию хи квадрат Пирсона
Добрый день. Хотела попросить помощи в таком вопросе. Нужно провести проверку гипотезы по критерию хи квадрат Пирсона. Когда писала...

Как можно упростить javascript проверку на валидность?
Я новичок в javascript, и у меня есть вопрос. У меня есть код с проверкой на валидность заполнение регистрационной формы. Я думал как ее...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru