Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » JavaScript: Проверка значений элементов формы (e-mail, имя..

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14

Открыть новую тему     Написать ответ в эту тему

Kaii

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите, кто знает, как сделать JavaScript'ом проверку формы на заполнение имени и сообщения и валидности мейла?

Общая информация о регулярных выражениях в Javascript:
http://www.johnrobertmorris.com/dev/Regex.asp
http://www.evolt.org/article/Regular_Expressions_in_JavaScript/17/36435/

Инструментарий для проверки регулярных выражений:
http://www.cuneytyilmaz.com/prog/jrx/
 





Переименовал. — Svarga.

Всего записей: 35 | Зарегистр. 15-11-2002 | Отправлено: 20:05 16-11-2002 | Исправлено: Cheery, 00:39 05-10-2006
siriusall



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Строка:
<dd><input type="button" onClick="process_form(this.form);" value="Далее" /></dd>  
 
Ошибка:Предполагается наличие объекта
Это Maxthon показывает
 

Всего записей: 166 | Зарегистр. 17-09-2008 | Отправлено: 00:55 23-04-2009
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
siriusall

Цитата:
Это Maxthon показывает  

Maxthon не браузер, а надстройка над IE.. вам сказано какими браузерами смотреть.
IE пользоваться только в случае установленных Debug инструментов

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 00:58 23-04-2009
siriusall



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Блин я больше не могу, хоть убей движок сайта видать блоркирует код, ибо на выходе он дает  
 
^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]$
 

Всего записей: 166 | Зарегистр. 17-09-2008 | Отправлено: 01:04 23-04-2009
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
siriusall

Цитата:
хоть убей движок сайта видать блоркирует код

а вот с этого и надо было начинать, что есть еще какой то скриптовый движок.
может быть..

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 01:08 23-04-2009
siriusall



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А есть какой нить вариант обойти это?

Всего записей: 166 | Зарегистр. 17-09-2008 | Отправлено: 01:32 23-04-2009
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
siriusall

Цитата:
А есть какой нить вариант обойти это?

аха.. обратиться к телепатам.  
откуда мы знаем что за движок??  
и без этой информации догадаемся что и как преобразуется?  
и что вы вообще застряли на этом примере? не пишите регулярку как аттрибут тега.
пишите как регулярку в javascript коде

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 01:34 23-04-2009
siriusall



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
все сделал, вынес в сам скрипт=))) спасибо огромное за участие.

Всего записей: 166 | Зарегистр. 17-09-2008 | Отправлено: 23:12 23-04-2009
OlegZ



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Уважаемые! Прошу помощи и советов.
Никогда не писАл на JS. Максимальный опыт - клон VBA для Corel. Пробую написать для использования внутри лок. сетки страничку с калькулятором раскладки на печатном листе изделий под гильотинную резку. Самым трудным оказалость придумывать "междумордие" юзверя. Вот, например, 'быстрый' выбор формата. Есть стандарт ISO series A. Но бывает и произвольный. Если выбран ISO, поля ввода заполняются из массива. Если вводится с клавиатуры, список должен принять значение 'Custom'…
Вот кусок кода. Ваши советы?...

Код:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document</title>
<script language="javascript">
// массив длины-ширины.
var formatAx = new Array()
var formatAy = new Array()
formatAx [0]=841; formatAx[1]=594; formatAx[2]=420; formatAx[3]=297; formatAx[4]=210; formatAx[5]=148; formatAx[6]=105;
formatAy [0]=1189; formatAy[1]=841; formatAy[2]=594; formatAy[3]=420; formatAy[4]=297; formatAy[5]=210; formatAy[6]=148;
// заполняем массив ====================
function addOption(){
var selObj = document.getElementById('list1');
    for (i=0; i<formatAx.length; i++){
        if (i != 4){ selObj.options[i] = new Option ("A"+i,formatAx[i]); }  
        else{ selObj.options[i] = new Option ("A"+i,formatAx[i],true,true); } // по умолчанию А4
    }
}
</script>
</head>
<body onload="addOption()">
<p>Формат бумаги:<br />
<input name="dimens" type="text" id="xDim" size="4" maxlength="4" />
  &times;
<input name="dimens" type="text" id="yDim" size="4" maxlength="4" /> mm
<select name="dropList1" id="list1">
</select>

</p>
</body>


Всего записей: 69 | Зарегистр. 14-05-2004 | Отправлено: 10:50 28-04-2009 | Исправлено: OlegZ, 14:26 28-04-2009
DarkSmoke



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Добрый день.
 
Есть форма:

Код:
 
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/jquery.validate.js"></script>
 
...
 
<input id="cname" name="name" type="text" value="Ф.И.О." onfocus="this.value=(this.value=='Ф.И.О.'?'':this.value)"  onblur="if (!this.value) this.value = 'Ф.И.О.'" size="25" class="required" minlength="2">
 

Все впринцепи работает. Только беда в том что, по умолчанию в форме всегда введено Ф.И.О., а это уже больше 2 символов. Получается что даже если человек не введет свое имя сам, то код отработается.  
 
Как сделать так что бы символы Ф.И.О. считались как пустая форма. Т.е. чтобы с этими символами форму отправить нельзя было.

Всего записей: 962 | Зарегистр. 08-10-2005 | Отправлено: 21:36 21-06-2009
DarkSmoke



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Люди... .Ну хоть кто - то...  Трубы горят.. .

Всего записей: 962 | Зарегистр. 08-10-2005 | Отправлено: 10:52 22-06-2009
irenka



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ПОМОГИТЕ РАЗОБРАТЬСЯ С ФОРМОЙ ПОЖАЛУЙСТА!
 
Поставила такой скрипт. Проверяет форму на заполнение полей. НО! Проверяет только input type=text (что поле не пустое), select не хочет проверять.
 
<script type='text/javascript'>    
/** Проверка форм    
@param1 Object    — ссылка на элемент FORM;    
@param2 Array    — массив проверяемых элементов. Пример: ['select', 'input']    
*/    
function checkForm(obj, elems) {    
var element, pattern;    
    for (var i = 0; i < obj.elements.length; i++) {  // пробегаемся по всем элементам формы    
        element = obj.elements[i];    
        // Проверяем только нужные поля    
        if (elems != undefined)    
            if (elems.join().indexOf(element.type) < 0) continue;    
        // И только если есть чего говорить юзеру в случае ошибки    
        if (!element.getAttribute("check_message")) continue;    
        if (pattern = element.getAttribute("check_pattern")) {  // если задан рег    
            pattern = new RegExp(pattern, "g");    
            if (!pattern.test(element.value)) {    
                alert(element.getAttribute("check_message"));    
                element.focus();    
                return false;    
            }    
        } else if(/^\s*$/.test(element.value)) {  // иначе просто проверка что поле не пустое    
            alert(element.getAttribute("check_message"));    
            element.focus();    
            return false;    
        }    
    }    
return true;    
}    
</script>
 
в саму форму вставляется onSubmit='return checkForm(this)'
в поле, которое проверяется check_message="Укажите Название"
 
помогите пожалуйста, что нужно поменять или прописать чтобы он и select на "пустоту" тоже проверял?
 
спс!

Всего записей: 46 | Зарегистр. 06-02-2005 | Отправлено: 12:42 07-08-2009
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
irenka

Цитата:
что нужно поменять или прописать чтобы он и select на "пустоту" тоже проверял?  

сделайте, чтобы в select не было "пустых" значений и все.

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 18:52 07-08-2009
irenka



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
в этом поле идет ввод города
 
если поставить первым Москва - у всех и будет Москва, народ не будет выбирать свой город, просто нажмут отправить.
 
мне нужно чтобы поле проверялось - что оно не пустое
 
<select>
<option value=""></option>
<option>Msk</option>
<option>Spb</option>
</select>
 
плиз!

Всего записей: 46 | Зарегистр. 06-02-2005 | Отправлено: 20:30 07-08-2009
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
irenka
if (document.getElementById('id_селекта').value='') {alert("Вы не выбрали город");return false}


----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 20:31 07-08-2009
irenka



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
спс!!!

Всего записей: 46 | Зарегистр. 06-02-2005 | Отправлено: 01:04 08-08-2009
mishakor

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте!
 
всё выше перечисленое оч мне помогло, но возника следующая проблема:
 
все вышеперечисленые формы отпровляются при нажатии кнопки, а у меня форма отпровляется при нажатии на
 

Код:
<span onClick="document.getElementById('kalkulyatr').submit()">Отправить<br>заявку</span>

 
и проверка на форму непашет, подскажите на следующем примере как мне эту проблему решить
 

Код:
<script>  
function checK(f) {
if (f.namE.value=='') {alert("а зовут-то как?");f.namE.focus();return false}  
if (f.eMail.value=='') {alert("не... мыло надо написать");f.eMail.focus();return false}  
if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/.test(f.eMail.value)){  
return true  
}  
alert('такое мыло не пойдет.\nисправляем');f.eMail.select()  
return false  
}
</script>  
 
<form name=f onSubmit="return checK(this)">
Name<br><input type=text name=namE value=""><br>  
E-mail Address:<br><input type=text name=eMail><br>
<span onClick="document.f.onsubmit()">Отправить<br>заявку</span>
</form>  

 

Всего записей: 65 | Зарегистр. 29-09-2008 | Отправлено: 07:59 27-08-2009
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mishakor
что значит 'не пашет'. Обработка события запустится даже если форма сабмитится через скрипт.

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 08:17 27-08-2009
SplaxS

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите пожалуйста с кодом, по нажатию на обект открывается окно со списком гиперссылок, но иногда, если их много(ссылок) то окно вытягивается по вертикале и уходит за пределы окна, не всегда возможно выбрать гиперссылку. Возможно ли в этом коде прописать жесткие размеры окна??? Либо может быть как нибудь возможно добавить полосу прокрутки.

Код:
function OnShapeClick (pageID, shapeID)
{
    if (isUpLevel)
    {
        var e = frmDrawing.window.event;
        var elem = e.srcElement;
 
        if (e != null && e.ctrlKey && frmToolbar.widgets && frmToolbar.widgets.Details)
        {
            UpdateProps (pageID, shapeID);
        }
        else
        {
            var shapeNode = FindShapeXML (pageID, shapeID);
            var hlObj = GetHLAction (shapeNode, pageID, shapeID);
            if (hlObj != null)
            {
                if (hlObj.DoFunction.length > 0)
                {
                    eval (hlObj.DoFunction);
                }
                else if (hlObj.Hyperlink.length > 0)
                {
                    if (hlObj.NewWindow)
                    {
                        window.open (hlObj.Hyperlink);
                    }
                    else
                    {
                        top.location.href = hlObj.Hyperlink.substr (0, 510);
                    }
                }
                else if (elem != null)
                {
                    var href = elem.origHref;
                    if (href == null)
                    {
                        href = elem.href;
                    }
 
                    var target = elem.origTarget;
                    if (target == null)
                    {
                        target = elem.target;
                    }
 
                    if (href && href.length > 0)
                    {
                        href = HTMLEscape (href);
                        if (target && target == "_blank")
                        {
                            window.open (href);
                        }
                        else
                        {
                            top.location.href = href.substr (0, 510);
                        }
                    }
                }
            }
        }
    }
 
    return (!isUpLevel);
}

Всего записей: 5 | Зарегистр. 25-08-2009 | Отправлено: 12:12 27-08-2009
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SplaxS
вы читаете названия тем? Как ваш вопрос относится к данной? Читайте
FAQ по созданию всплывающих и диалоговых окон (pop-up/popup)

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 15:03 27-08-2009
Only4You



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Хочу сделать форму, для расчета стоимости заказа.
Суть:
1.Человек выбирает товар который хочет заказать,
У каждого товара своя стоимость.
1 Товар = 100
2 Товар = 200
3 Товар = 300
4 Товар = 400
5 Товар = 500
выбрал Заказть 4 Товар,
Хотелось бы что бы  в скрипт данные подставлялись автоматически.
  Стоимость Товара<Br>
  <input type="text" name="ww" >&nbsp;руб.<br>
2. Дальше человек выбирает Вид доставки, если ПО предоплате то сумма не меняеться.
Если выбрал Наложенным платежом, то к уже имеющей сумме надо добавить n-ю сумму.
 
 
Вот с этим у меня и запарки, не могу сообразить
Как то можно решить это с помошью JS
 
Спасибо большое зарание.
 

Код:
 
table>
<tr><td>
<form method="post">
<select size="1">
    <option name="1">1 Товар</option>
    <option name="2">2 Товар</option>
    <option name="3">3 Товар</option>
    <option name="4">4 Товар</option>
    <option name="5">5 Товар</option>
   </select><br>
  Колличество товара<Br>
  <input type="text" name="qq" >&nbsp;шт.<br>
  Стоимость Товара<Br>
  <input type="text" name="ww" >&nbsp;руб.<br>
  Доставка <br>
  <input type="radio" name="answer" value="a1">По предоплате<Br>
  <input type="radio" name="answer" value="a2">Наложенным платежом<Br>
  <p><input type="submit" value="Расчитать Стоимость">
 </form>
</td></tr>
<?php
$a = $_POST['qq'];
$b = $_POST['ww'];
$result = $a * $b
?>
<tr><td>
Ваш заказ <br>
<b>Доставка:</b><br>
<b>Товар: </b> <br>
<b>Стоимость&nbsp;&nbsp; </b><font color="red"><b><? echo $result ?></b></font>
</td></tr>
</table>
 

Всего записей: 34 | Зарегистр. 02-08-2009 | Отправлено: 12:07 10-11-2009
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14

Компьютерный форум Ru.Board » Интернет » Web-программирование » JavaScript: Проверка значений элементов формы (e-mail, имя..


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru