Здравствуйте. У меня есть поле ввода textarea, вот для него код: Код (Text): $script .= " if (form.metakey.value == ''|| form.metakey.value == null){ alert(JText._('JGA_COMMON_ALERT_IMAGE_MUST_HAVE_KEYS')); form.metakey.style.backgroundColor = ffwrong; form.metakey.focus(); return false; } Этот код выводит сообщение-предупреждение, если поле пустое. Мне надо сделать, чтобы он проверял не только пустое слово, а количество вводимых символов, то есть в это поле пользователи будут вводить ключевые слова через запятую. Код должен посчитать запятые, если их меньше трех, то вывести сообщение, если больше, то ничего не выводить, а выполнить. Как это можно сделать?
Код (PHP): <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Example</title> </head> <body> <form id="form" method="post"> <textarea name="textarea"></textarea> [url="javascript:form('form')"]Отправить[/url] </form> <script type="text/javascript"> function form(id) { var textarea=document.forms[id].textarea, array='', addArray=[]; if(!textarea.value) { alert('Поле не может быть пустое!'); textarea.focus(); } else { array=textarea.value.split(','); if(3<=array.length) { for(var i in array) { if(array[i]) { addArray.push(array[i]); } } if(3<=addArray.length) { alert('Все ок!'); } else { alert('Перечислите 3 или более элементов через запятую'); } } else { alert('Перечислите 3 или более элементов через запятую'); } } } </script> </body> </html>
Код (PHP): function form(id) { var textarea = document.forms[id].textarea; if (!textarea.value) { alert('Поле не может быть пустое!'); textarea.focus(); } else { var val = textarea.value.replace(/\s/g,''); var re = /^([^,]+,){2}([^,]+)/; if (re.test(val)) { alert('Все ок!'); } else { alert('Перечислите 3 или более элементов через запятую'); } } }
Дело в том, что у меня уже есть кнопка для отправки данных, но эта кнопка отправляет не только данные metakey, но и другие imgtitle, imgtext и др. Вот ее код Код (Text): <input type="submit" value="<?php echo JText::_('JGA_UPLOAD_UPLOAD'); ?> " > А вот поле заполнения ключей: Обязательно должно быть Код (Text): name="metakey" Иначе ключи не пропишутся. Как-нибудь можно ваш код прикрутить к этим полям? Самому не получается это сделать
А что не судьба название поменять? <textarea name="textarea"></textarea> И в коде тоже var textarea = document.forms[id].textarea;