#php #javascript #jquery #ajax #validation
#php #javascript #jquery #ajax #проверка
Вопрос:
Я пытаюсь получить изображение обработки, отображаемое после успешной отправки с проверкой с помощью gen_validatorv4.js .
Проблема в том, что formdata отправляется в php-файл, который отправляет данные в Google speadsheet. И это занимает около 3-10 секунд, поэтому люди снова нажимают на кнопку отправки. Вот почему я хочу изображение для обработки. Есть идеи, как это сделать?
$ (документ).готово(function(){ $(‘#ajax_loading’).show();}
????
Или любая помощь приветствуется!
Комментарии:
1. перед отправкой через ajax (например, нажмите (функция () { }) или отправьте (функция (){ })), загрузите контейнер и покажите загружаемое изображение, после успеха: функция (данные) { /* удалите это загружаемое изображение * / }
Ответ №1:
привяжите событие click к кнопке отправки и покажите изображение ajax_loading в событии click. единственный способ скрыть это — когда вы получаете событие ответа. когда вы получите ответ обратно, вы можете скрыть изображение ajax_loading.
Ответ №2:
Я поклонник jQuery для решения этих проблем, вы можете попробовать jQuery NimbleLoader для загрузки изображения, я бы также предложил попробовать, как включить / отключить элемент с помощью jQuery, чтобы включить или отключить форму, чтобы предотвратить двойную отправку.
Ответ №3:
Перейдите на этот сайт:http://www.ajaxload.info / и создайте изображение самостоятельно.
Допустим, изображение вызывается loader.gif
Тогда, если ваша форма похожа на эту <form id="myform">
, ваш jquery будет выглядеть примерно так:
$('#myform').submit(function(){
$('#myform').prepend("<div id="loader"></div>");
... do stuff here ...
$('#loader').remove();
})
и у вас будет этот CSS:
#loader {
position: absolute;
z-index: 100;
width: 100%;
height: 100%;
top: 0px;
left: 0px;
background: url("loader.gif") no-repeat center center;
}