Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Проверка вводимого текста вплоть до запятой

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
AkudJEE
Отправлено: 25 Октября, 2012 - 09:50:15
Post Id


Новичок


Покинул форум
Сообщений всего: 33
Дата рег-ции: Янв. 2012  
Откуда: Уфа


Помог: 0 раз(а)




Здравствуйте. У меня есть поле ввода textarea, вот для него код:
PHP:
скопировать код в буфер обмена
  1. $script .= "
  2.        if (form.metakey.value == ''|| form.metakey.value == null){
  3.        alert(JText._('JGA_COMMON_ALERT_IMAGE_MUST_HAVE_KEYS'));
  4.       form.metakey.style.backgroundColor = ffwrong;
  5.       form.metakey.focus();
  6.        return false;
  7.           }
  8.  

Этот код выводит сообщение-предупреждение, если поле пустое. Мне надо сделать, чтобы он проверял не только пустое слово, а количество вводимых символов, то есть в это поле пользователи будут вводить ключевые слова через запятую. Код должен посчитать запятые, если их меньше трех, то вывести сообщение, если больше, то ничего не выводить, а выполнить. Как это можно сделать?
 
 Top
AlexAnder
Отправлено: 25 Октября, 2012 - 10:16:51
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 915
Дата рег-ции: Авг. 2012  
Откуда: Россия


Помог: 34 раз(а)





Спойлер (Отобразить)


-----
Оказывается, недостаточно читать справочники, чтобы правильно писать коды. sadex ©

Форумы стали местом обучения программированию, а не решения трудных вопросов. KingStar ©
 
 Top
KingStar
Отправлено: 25 Октября, 2012 - 10:41:12
Post Id



Участник


Покинул форум
Сообщений всего: 1889
Дата рег-ции: Авг. 2011  
Откуда: Беларусь


Помог: 69 раз(а)




AlexAnder дану, не соглашусь...

CODE (javascript):
скопировать код в буфер обмена
  1. function fun(){
  2.    var dd = document.getElementById('dd').value;
  3.    arr = dd.split(',');
  4.    zap = arr.length();
  5.  
  6.    if(zap < 3) { alert('zap: '+zap); }
  7. }

(Отредактировано автором: 25 Октября, 2012 - 10:47:53)



-----
То что программа работает, не означает что она написана правильно!
 
 Top
AkudJEE
Отправлено: 25 Октября, 2012 - 10:54:16
Post Id


Новичок


Покинул форум
Сообщений всего: 33
Дата рег-ции: Янв. 2012  
Откуда: Уфа


Помог: 0 раз(а)




AlexAnder
Не совсем то, что мне надо, во первых textarea у меня уже есть:
<textarea class="inputbox" cols="40" rows="2" name="metakey" maxlength="500"></textarea>
И кнопка отправки отвечает не только за это поле, а за все четыре, то есть если не заполнено название, то при нажатии выскакивает предупреждение и т.д.
Ваш код проверяет ключи только после запятой, если нет запятоу после слова пишет равно нулю, и если больше трех, то все равно выводит сообщение, а хотя уже не должен выводить
KingStar
Ваш код не работает.
 
 Top
KingStar
Отправлено: 25 Октября, 2012 - 11:09:43
Post Id



Участник


Покинул форум
Сообщений всего: 1889
Дата рег-ции: Авг. 2011  
Откуда: Беларусь


Помог: 69 раз(а)




подправил, привычка от php Хорошо

CODE (javascript):
скопировать код в буфер обмена
  1. function fun(){
  2.    var dd = document.getElementById('dd').value;
  3.    arr = dd.split(',');
  4.    zap = arr.length;
  5.  
  6.    if(zap < 3) { alert('zap: '+zap); }
  7. }


-----
То что программа работает, не означает что она написана правильно!
 
 Top
AkudJEE
Отправлено: 25 Октября, 2012 - 12:05:40
Post Id


Новичок


Покинул форум
Сообщений всего: 33
Дата рег-ции: Янв. 2012  
Откуда: Уфа


Помог: 0 раз(а)




Ваш код работает, осталось его прикрутить к сайту, пока не знаю как
(Добавление)
Вот сюда как-то его прикрутить:
PHP:
скопировать код в буфер обмена
  1. $script .= "
  2.        if (form.metakey.value == ''|| form.metakey.value == null){
  3.        alert(JText._('JGA_COMMON_ALERT_IMAGE_MUST_HAVE_KEYS'));
  4.       form.metakey.style.backgroundColor = ffwrong;
  5.       form.metakey.focus();
  6.        return false;
  7.           }
  8.            
  9.               /* checks if files already exist */
  10.      else {
  11.        var zaehl = 0;
  12.        var arenofiles = true;
  13.        var fullfields = new Array();
  14.        var screenshotfieldname = new Array();
  15.        var screenshotfieldvalue = new Array();
  16.        for(i=0;i<1;i++) {
  17.          screenshotfieldname[i] = 'arrscreenshot['+i+']';
  18.          screenshotfieldvalue[i] = document.getElementsByName(screenshotfieldname[i])[0].value;
  19.          document.getElementsByName(screenshotfieldname[i])[0].style.backgroundColor = ffwrong;
  20.          if(screenshotfieldvalue[i] != '') {
  21.            arenofiles = false;
  22.            fullfields[zaehl] = i;
  23.            zaehl++;
  24.          }
  25.        }
  26.      }

(Добавление)
Вот поле для заполнения:
PHP:
скопировать код в буфер обмена
  1. <textarea id="dd" class="inputbox" cols="40" rows="2" name="metakey" maxlength="500"></textarea>

и кнопка:
PHP:
скопировать код в буфер обмена
  1.  <input type="submit" value="<?PHP echo JText::_('JGA_UPLOAD_UPLOAD'); ?> " onclick="fun()" >

Не совсем правильно работает, при нажатии на кнопку появляется предупреждение, а после закрытия окошка загрузка продолжается.
 
 Top
KingStar
Отправлено: 25 Октября, 2012 - 12:24:01
Post Id



Участник


Покинул форум
Сообщений всего: 1889
Дата рег-ции: Авг. 2011  
Откуда: Беларусь


Помог: 69 раз(а)




повесь на форму событие onSubmit

CODE (html):
скопировать код в буфер обмена
  1. <form onsubmit="return fun();">


CODE (javascript):
скопировать код в буфер обмена
  1. function fun(){
  2.    var dd = document.getElementById('dd').value;
  3.    arr = dd.split(',');
  4.    zap = arr.length;
  5.  
  6.    if(zap < 3)
  7.    {
  8.       alert('zap: '+zap);
  9.       return false;
  10.    }
  11. }


-----
То что программа работает, не означает что она написана правильно!
 
 Top
AkudJEE
Отправлено: 25 Октября, 2012 - 12:31:39
Post Id


Новичок


Покинул форум
Сообщений всего: 33
Дата рег-ции: Янв. 2012  
Откуда: Уфа


Помог: 0 раз(а)




нет у меня form
(Добавление)
Ну все сделал. Спамибо KingStar и AlexAnder
Получилось так:
PHP:
скопировать код в буфер обмена
  1.  <script>   function fun(){
  2.        var dd = document.getElementById('dd').value;
  3.        arr = dd.split(',');
  4.        zap = arr.length;
  5.      
  6.        if(zap < 3)
  7.        {
  8.           alert('Вы ввели '+zap+' ключевое слово. Должно быть не менее трех');
  9.           return false;
  10.        }
  11.     }</script>
  12.      
  13.              <textarea id="dd" class="inputbox" cols="40" rows="2" maxlength="500"></textarea>
  14.  <input type="submit" value="<?PHP echo JText::_('JGA_UPLOAD_UPLOAD'); ?> "  onclick="return fun()">
 
 Top
KingStar
Отправлено: 25 Октября, 2012 - 12:42:19
Post Id



Участник


Покинул форум
Сообщений всего: 1889
Дата рег-ции: Авг. 2011  
Откуда: Беларусь


Помог: 69 раз(а)




AkudJEE мдя... учится тебе ещё и учится Хм Хм Хм


-----
То что программа работает, не означает что она написана правильно!
 
 Top
AkudJEE
Отправлено: 25 Октября, 2012 - 12:43:12
Post Id


Новичок


Покинул форум
Сообщений всего: 33
Дата рег-ции: Янв. 2012  
Откуда: Уфа


Помог: 0 раз(а)




Это да...
(Добавление)
KingStar еще вопрос, если не вводить ключевого слова и нажать кнопку, то скрипт все равно выводит текст, что введен один ключ, как нибудь можно сделать так, чтобы скрипт показывал, что введено 0 ключей?
(Добавление)
Как можно сделать, чтобы функция getElementById, сработала как getElementByName, простой заменой не получается
 
 Top
AlexAnder
Отправлено: 25 Октября, 2012 - 14:40:40
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 915
Дата рег-ции: Авг. 2012  
Откуда: Россия


Помог: 34 раз(а)




Спойлер (Отобразить)

Цитата:
Как можно сделать, чтобы функция getElementById, сработала как getElementByName, простой заменой не получается

к текстовому полю добавить АЙДИ

(Отредактировано автором: 25 Октября, 2012 - 14:44:18)



-----
Оказывается, недостаточно читать справочники, чтобы правильно писать коды. sadex ©

Форумы стали местом обучения программированию, а не решения трудных вопросов. KingStar ©
 
 Top
AkudJEE
Отправлено: 25 Октября, 2012 - 16:42:28
Post Id


Новичок


Покинул форум
Сообщений всего: 33
Дата рег-ции: Янв. 2012  
Откуда: Уфа


Помог: 0 раз(а)




AlexAnder пишет:
к текстовому полю добавить АЙДИ

Спасибо огромное!!! Заработало.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB