Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 18.12.2010, 14:41
wkdsi вне форума Посмотреть профиль Отправить личное сообщение для wkdsi Найти все сообщения от wkdsi
  № 1  
Ответить с цитированием
wkdsi

Регистрация: Dec 2010
Сообщений: 8
По умолчанию Форма отправки

Была html форма, я попытался заменить её на форму на флеш, но она не работает, есть подозрение, что я не правильно передаю данные в обработчик. В какой форме данные уходят из html?
Флеш в моём случае передаёт данные так:
var tosend:String = "login=" + namee.text
+ "pass=" + pass.text
+ "question=" + question.text
+ "answer=" + answer.text
+ "email=" + email.text


var URL_vars:URLVariables = new URLVariables(tosend);
URL_vars.dataFormat = URLLoaderDataFormat.TEXT;

URL_request.data = URL_vars;
var_load.load( URL_request );
var_load.addEventListener(Event.COMPLETE, receive_response );
}
}

Это схоже с html формой? Как правильно передать данные?

Вот код html формы, она исправно работает:

Код:
<form action="processor.php" method="POST">
<fieldset>
<legend class="style1">Регистрация нового аккаунта</legend>
<p><label for="login">Логин:</label> <input type="text" name="login" 
/></p>

<p><label for="pass">Пароль:</label> <input type="text" 
name="pass"/></p>
<p><label for="passp">Пароль снова:</label> <input type="text" 
name="passp"/></p>
<!--<p><label for="pass2">Second Password</label> <input type="text" 
name="pass2"/></p>
<p><label for="pass2p">Second Password Prompt</label> <input type="text" 
name="pass2p"/></p>-->
<p><label for="question">Секр. вопрос:</label> <input type="text" 
name="question"/></p>
<p><label for="answer">Ответ на вопрос:</label> <input type="text" 
name="answer"/></p>
<!--<p><label for="realname">Real Name:</label> <input type="text" 
name="realname"/></p>
<p><label for="dn">Document Number:</label> <input type="text" 
name="dn"/></p>-->
<p><label for="email">Електронная почта:</label> <input type="text" 
name="email"/></p>

<!--<p><label for="pnumber">Phone Number:</label> <input type="text" 
name="pnumber"/></p>
<p><label for="mnumber">Mobile Number:</label> <input type="text" 
name="mnumber"/></p>
<p><label for="province">Province:</label> <input type="text" 
name="province"/></p>
<p><label for="city">City:</label> <input type="text" name="city"/></p>
<p><label for="address">Address:</label> <input type="text" 
name="address"/></p>
<p><label for="zip">Zip Code:</label> <input type="text" 
name="zip"/></p>-->
<p><label for="gender">Пол:</label> <select name="gender">
  <option value="1" selected>Мужиг</option>
  <option value="2">Не мужиг</option>
</select></p>
<div align="left">
  <input name="submit" type="submit" value="Отправить" />
</div>
</fieldset>
</form>

А вот код AC3, он не работает( прикладываю на всякий случай), вопрос в самом верху.


Код AS3:
// Чистим содержимое полей
namee.text = pass.text = passp.text = info.text = info1.text = info2.text = "";
send_btn.addEventListener(MouseEvent.CLICK, submit); 
 
 
 var timer:Timer; 
 var var_load:URLLoader = new URLLoader; 
 //переменную URL_request связываем с файлом processor.php
 var URL_request:URLRequest = new URLRequest( "http://213.178.56.194/register/processor.php" ); 
 //метод передачи данных - POST 
 URL_request.method = URLRequestMethod.POST; 
 
 //если нажата кнопка send_button 
 function submit(e:MouseEvent):void { 
 //если какое-либо поле для ввода, является пустым, 
 if( namee.text == "" || pass.text == "" || passp.text == "" ) { 
  //то выводим строку 
  info.text = "Заполните все поля."; 
  //иначе проверяем адрес на валидность(ф-ия описана ниже) 
 } else 
 { 
  info.text = "Регистрируем..."; 
 
  //формируем строку, которая будет отправлена 
  var tosend:String = "login=" + namee.text 
       + "pass=" + pass.text 
	   + "question=" + question.text
	   + "answer=" + answer.text
	   + "email=" + email.text
 
 
  var URL_vars:URLVariables = new URLVariables(tosend); 
  URL_vars.dataFormat = URLLoaderDataFormat.TEXT; 
 
  URL_request.data = URL_vars; 
  var_load.load( URL_request ); 
  var_load.addEventListener(Event.COMPLETE, receive_response ); 
 } 
 } 
 
 
 
 
 
 //обработка ответа из processor.php
 function receive_response(e:Event):void { 
 var loader:URLLoader = URLLoader(e.target); 
 var email_status = new URLVariables(loader.data).success; 
 
 if( email_status == "yes" ) { 
  //если php саказал да выводим 
  info.text = "Ваше сообщение отправлено!"; 
 
  //устанавливаем таймер 
  timer = new Timer(500); 
  //слушаем событие - истечение времени таймера, выполняем on_timer 
  timer.addEventListener(TimerEvent.TIMER, on_timer); 
  timer.start(); 
 } else { 
  //если php саказал нет 
  info.text = "Ошибка отправки!"; 
 } 
 } 
 
 function on_timer(te:TimerEvent):void { 
 if( timer.currentCount >= 10 ) { 
  //обнуляем поля ввода 
  namee.text = pass.text = passp.text = info.text = ""; 
  //удаляем слушатель 
  timer.removeEventListener(TimerEvent.TIMER, on_timer); 
 } 
 }


Последний раз редактировалось wkdsi; 19.12.2010 в 01:02.
Создать новую тему   Часовой пояс GMT +4, время: 19:07.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 19:07.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.