Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.09.2014, 09:10   #1
Mick_20
объявления
Пользователь
 
Регистрация: 21.08.2012
Сообщений: 47
По умолчанию Очистка формы

Подскажите как очистить форму при удачной отправке данных?

Вот код формы:
PHP код:
<form action="" id="my_aform" style="margin-top: 10px;">
    <!--
input type="text" name="mydata" id="mydata" /-->
    <
label for="posName">Ваше имя:</label>
    <
input type="text" name="pname" size="40" id="myname" />
    <
label for="posEmail">E-mail:</label>
    <
input type="text" name="pemail" size="40" id="myemail" />
    <
label for="posText">Сообщение:</label>
    <
textarea cols="31" rows="7" name="pmsg" id="mymsg"></textarea>
    <
div style="margin-top: 15px;">
    <
input type="button" onclick="asend();" value="Отправить" />
    </
div>
    </
form
Вот скрипт отправки данных:
PHP код:
function asend()
{
//Получаем параметры
var data_name = $('#myname').val();
var 
data_email = $('#myemail').val();
var 
data_msg = $('#mymsg').val();
  
// Отсылаем паметры
       
$.ajax({
                
type"POST",
                
url"http://site.ru/modules/mod_ajax_kontakt/SendData.php",
                
data: {pname:data_name,pemail:data_email,pmsg:data_msg},
                
// Выводим то что вернул PHP
                
success: function(html) {
 
//предварительно очищаем нужный элемент страницы
                        
$("#result").empty();
//и выводим ответ php скрипта
                        
$("#result").append(html);
                }
        });


Mick_20 вне форума Ответить с цитированием
Старый 02.09.2014, 09:28   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Да пропиши просто что-то типа:
Код:
document.getElementById('myname').value='';
в обработчике успешной отправки для каждого элемента и все.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 02.09.2014, 10:45   #3
Cronos20
Форумчанин
 
Регистрация: 08.07.2010
Сообщений: 679
По умолчанию

у htm форм есть стандартный метод reset()
Cronos20 вне форума Ответить с цитированием
Старый 02.09.2014, 13:28   #4
Mick_20
объявления
Пользователь
 
Регистрация: 21.08.2012
Сообщений: 47
По умолчанию

Цитата:
Сообщение от Cronos20 Посмотреть сообщение
у htm форм есть стандартный метод reset()
Не понял что вы имеете ввиду. Кнопку сброса данных я знаю как сделать.
Это не то.
Mick_20 вне форума Ответить с цитированием
Старый 02.09.2014, 13:32   #5
Mick_20
объявления
Пользователь
 
Регистрация: 21.08.2012
Сообщений: 47
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Да пропиши просто что-то типа:
Код:
document.getElementById('myname').value='';
в обработчике успешной отправки для каждого элемента и все.
Да действительно работает, но немного не то.
У меня еще проверка полей идет и она не на странице формы а в файле обработчике.
Т е выводятся сообщения типа: "Вы не ввели имя, вы не ввели мыло, вы вели не правильно мыло, вы не вели сообщение"

И вот если сделать сброс как вы предложили, то при возврате любого из этих сообщений форма будет очищаться.
Хочется чтобы форма обнулялась только тогда когда все данные ведены верно и удачно отправлены.

Вот файл обработчик:

PHP код:
 if (isset($_POST['pname']) && $_POST['pname'] == "")
 {
    echo 
$statusError "<strong style='color:#c01480;'>Вы не указали свое имя!</strong>";
 }
 elseif (isset(
$_POST['pemail']) && $_POST['pemail'] == "")
 {
    echo 
$statusError "<strong style='color:#c01480;'>Вы не указали e-mail!</strong>";
 }
 elseif(isset(
$_POST['pemail']) && !preg_match("/^([a-z,._,0-9])+@([a-z,._,0-9])+(.([a-z])+)+$/"$_POST['pemail']))
 {
    echo 
$statusError "<strong style='color:#c01480;'>Не верно введен e-mail!</strong>";
    unset(
$_POST['pemail']);
 }
 elseif (isset(
$_POST['pmsg']) && $_POST['pmsg'] == "")
 {
    echo 
$statusError "<strong style='color:#c01480;'>Вы не ввели текст сообщения!</strong>";
 }
else
{
отправка почты mail();

echo 
$statusSuccess "<strong style='color:green;'>Ваше сообщение отправлено!</strong>";

Mick_20 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Qt 5.1 Очистка формы Klafen Qt и кроссплатформенное программирование С/С++ 6 09.12.2013 08:43
Удаление динамических объектов / полная очистка формы 095 Общие вопросы Delphi 3 23.04.2012 16:09
Пересоздание формы (очистка) mental Общие вопросы Delphi 2 24.06.2011 15:59
Очистка содержимого формы и замена новым. (((sheva))) Общие вопросы Delphi 2 12.05.2011 12:09
Очистка формы Радмир4855 Microsoft Office Excel 2 13.05.2010 16:08