Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Jquery, ajax и скрытие дива 
:(
    Опции темы
IgorIV
Дата 1.2.2011, 00:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 642
Регистрация: 7.9.2009

Репутация: нет
Всего: 8



Есть некоторые файлы на странице. Отправляю их id аяксом на сервер. 
Код


<li><span onclick="if (verificationform()) 
{ document.form1.action='uploadfile.php?do=sendemail'; $('#form1').ajaxSubmit(optionsMail); }" > Отправить на почту </span>
</li>



Код

$(document).ready(function(){
    
optionsMail = {
    target: "#ajax-mail-output",  
    type: "POST",
    clearForm: false,
    //beforeSubmit: showRequest, 
    success: showResponse('#ajax-mail-output') , 
    timeout: 5000 
};

function showResponse(div)  {
    $(div).show('slow');
    
    $(div).delay(10000).fadeOut(5000);

    sendMail++;
    alert (sendMail) ;

}
}

Ответ сервера выводится здесь

<div id="ajax-mail-output"></div> 
Форма отправляется нормально.
После приема ответа сервера получается так

<div id="ajax-mail-output" style="display: none;">Файлы отправлены на почту.</div>

Соответственно надпись исчезает спустя некоторое время. И больше не появляется.

Как мне сделать что-то из следующего
1 При каждой отправке формы на сервер появляется сообщение Файлы отправлены на почту. Пока сообщение появляется только в первый раз.
2 Запретить посылать форму вторично. Вроде ввел переменную sendMail, но алерт появляется только при загрузке страницы.



Это сообщение отредактировал(а) IgorIV - 1.2.2011, 00:17
PM MAIL   Вверх
нуп
Дата 1.2.2011, 00:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ботокодер
**


Профиль
Группа: Участник
Сообщений: 987
Регистрация: 22.6.2009
Где: Кременчуг

Репутация: 13
Всего: 33



Гугль -> jquery one()
PM MAIL   Вверх
IgorIV
Дата 1.2.2011, 21:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 642
Регистрация: 7.9.2009

Репутация: нет
Всего: 8



нуп, спасибо, получилось smile
PM MAIL   Вверх
IgorIV
Дата 5.2.2011, 11:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 642
Регистрация: 7.9.2009

Репутация: нет
Всего: 8



Неправильно получилось.
Надо не один раз нажать на кнопку, а не дать повторно отправить данные в случае успешной первой отправки. А так получилось, что в случае неудачной отправки, повторно отправить не получится.

PM MAIL   Вверх
c0va23
Дата 5.2.2011, 15:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 28.11.2010

Репутация: нет
Всего: 3



Тогда лучше <span> заменить на <button> или хотя бы обернуть в него. При нажатии кнопки её нужно отключить через .attr('disabled', true), а при не удачной отправки опять её включать через .attr('disabled', false)
PM MAIL   Вверх
IgorIV
Дата 12.2.2011, 17:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 642
Регистрация: 7.9.2009

Репутация: нет
Всего: 8



Сделал по другому

Код


 function showResponse(div)  {
    
    $(div).delay(7000).fadeOut(5000);

    sendMail++;




// Кнопка "отправить на почту" (sendmail), можно нажать только один раз.
    
sendMail=0;    

$("#sendmail").click (function(){
    
     if (sendMail > 0) return false; 

    if (verificationform()) { 
        $('#form1').attr ('action', 'uploadfile.php?do=sendemail'); 
        $('#form1').ajaxSubmit({    
                                target: "#ajax-mail-output",  
                                type: "POST",
                                clearForm: true,
                                //beforeSubmit: showRequest, 
                                success: showResponse('#ajax-mail-output') , 
                                timeout: 5000 }); 
    };
});

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0943 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.