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
Форумы портала PHP.SU :: Версия для печати :: Проверка вводимого текста вплоть до запятой
Форумы портала PHP.SU » Клиентская разработка » JavaScript & VBScript » Проверка вводимого текста вплоть до запятой

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

1. AkudJEE - 25 Октября, 2012 - 09:50:15 - перейти к сообщению
Здравствуйте. У меня есть поле ввода 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.  

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

Спойлер (Отобразить)
3. KingStar - 25 Октября, 2012 - 10:41:12 - перейти к сообщению
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. }
4. AkudJEE - 25 Октября, 2012 - 10:54:16 - перейти к сообщению
AlexAnder
Не совсем то, что мне надо, во первых textarea у меня уже есть:
<textarea class="inputbox" cols="40" rows="2" name="metakey" maxlength="500"></textarea>
И кнопка отправки отвечает не только за это поле, а за все четыре, то есть если не заполнено название, то при нажатии выскакивает предупреждение и т.д.
Ваш код проверяет ключи только после запятой, если нет запятоу после слова пишет равно нулю, и если больше трех, то все равно выводит сообщение, а хотя уже не должен выводить
KingStar
Ваш код не работает.
5. KingStar - 25 Октября, 2012 - 11:09:43 - перейти к сообщению
подправил, привычка от 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. }
6. AkudJEE - 25 Октября, 2012 - 12:05:40 - перейти к сообщению
Ваш код работает, осталось его прикрутить к сайту, пока не знаю как
(Добавление)
Вот сюда как-то его прикрутить:
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()" >

Не совсем правильно работает, при нажатии на кнопку появляется предупреждение, а после закрытия окошка загрузка продолжается.
7. KingStar - 25 Октября, 2012 - 12:24:01 - перейти к сообщению
повесь на форму событие 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. }
8. AkudJEE - 25 Октября, 2012 - 12:31:39 - перейти к сообщению
нет у меня 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()">
9. KingStar - 25 Октября, 2012 - 12:42:19 - перейти к сообщению
AkudJEE мдя... учится тебе ещё и учится Хм Хм Хм
10. AkudJEE - 25 Октября, 2012 - 12:43:12 - перейти к сообщению
Это да...
(Добавление)
KingStar еще вопрос, если не вводить ключевого слова и нажать кнопку, то скрипт все равно выводит текст, что введен один ключ, как нибудь можно сделать так, чтобы скрипт показывал, что введено 0 ключей?
(Добавление)
Как можно сделать, чтобы функция getElementById, сработала как getElementByName, простой заменой не получается
11. AlexAnder - 25 Октября, 2012 - 14:40:40 - перейти к сообщению
Спойлер (Отобразить)

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

к текстовому полю добавить АЙДИ
12. AkudJEE - 25 Октября, 2012 - 16:42:28 - перейти к сообщению
AlexAnder пишет:
к текстовому полю добавить АЙДИ

Спасибо огромное!!! Заработало.

 

Powered by ExBB FM 1.0 RC1