Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Сделать проверку ввода данных на JS, а отправить на php?
 
 автор: Анна Жю   (07.02.2005 в 18:13)   письмо автору
 
 

Хочу сделать проверку правильности ввода e-mail в форму через JS, и отправить письмо при помощи php, в случае, если эл. адрес отправителя окажется правильного формата... Но все эти действия должны выполняться на одной кнопке "Отправить".. Это реально?

   
 
 автор: elenaki   (07.02.2005 в 21:02)   письмо автору
 
   для: Анна Жю   (07.02.2005 в 18:13)
 

этот код проверяет синтаксис адреса.

<script Language="JavaScript"> 
<!-- 
function showerror() { 
alert("E-mail isn't write."); 

function checkmail() 

txt=document.reserv.email.value; 
if (txt == "") { 
alert("enter E-mail."); 
return(false) 

if (txt.indexOf(".") == -1) { 
alert("missed simbol\".\" \.");  
return(false) 

dog = txt.indexOf("@"); 
if (dog == -1) { 
alert("missed simbol \"@\"."); 
return(false) 

if ((dog <1) || (dog> txt.length - 5)) { 
showerror(); 
return(false) 

if ((txt.charAt(dog - 1) == '.') || (txt.charAt(dog + 1) == '.')) { 
showerror(); 
return(false) 


//--> 
</script> 


в форму вставьте onSubmit=checkmail(); тогда событие Submit будет обрабатываться только в случае правильного (по синтаксису) введенного адреса. этот код не может проверить, существует ли на самом деле такой адрес. его легко можно обмануть, введя: ooo@bbb.tt

   
 
 автор: Crux   (07.02.2005 в 21:55)   письмо автору
 
   для: elenaki   (07.02.2005 в 21:02)
 

можно это всё написать попроще

function checkmail()
{
var mail=document.reserv.mail.value
var reg = /\w+@\w+.\w/
if (!reg.exec(mail))
    {
    alert('неверно введён email!');
    return(false)
    }
}

   
 
 автор: Анна Жю   (09.02.2005 в 18:59)   письмо автору
 
   для: Crux   (07.02.2005 в 21:55)
 

И ваш скрипт заработал, но в случае неправильного введения e-mail форма всё-равно отправляется. А этого бы совсем не хотелось :))

   
 
 автор: Анна Жю   (09.02.2005 в 18:57)   письмо автору
 
   для: elenaki   (07.02.2005 в 21:02)
 

Ваш скрипт у меня заработал, но есть одно "но" - после неправильного введения адреса или невведения его появляется панелька извещения, кликнув "ОК" по которой я сразу попадаю на файл, где у меня обрабатываются уже введённые данные. Т.е. форма всё-равно уходит, правильно или нет было заполнено поле адреса.

   
 
 автор: Анна Жю   (09.02.2005 в 19:03)   письмо автору
 
   для: elenaki   (07.02.2005 в 21:02)
 

Если хотите, можете посмотреть, что получается

http://www.intexrus.ru/zapros.htm

   
 
 автор: Crux   (10.02.2005 в 06:25)   письмо автору
 
   для: Анна Жю   (09.02.2005 в 19:03)
 

обработчик события должен выглядеть вот так

onSubmit="return checkmail()"

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования