submit один раз

Если Вы совсем новичок и слабо представляете себе возможности jQuery, не можете понять в каком форуме задать свой вопрос - Вам сюда.

Модераторы: TRAHOMOTO, tuareg, Gennady

Re: submit один раз

Сообщение tuareg » 15 апр 2012, 17:19

Я не очень понимаю зачем у Вас вот этот код
Код: выделить все
var save = object.onclick; object.onclick = null; object.onclick = save;

А так вообще рекомендуется не использовать обработчики через HTML более подробно Способы добавления обработчиков в сравнении, т.е
Код: выделить все
<input type="button" onclick="send();" value="Отправить" />

А так у Вас есть форма с #myform
Код будет приблизительно такой
Код: выделить все
$('#myform').on('submit','input:submit',null,function(e){
e.preventDefault();
e.stopPropagation();
var buttom=$(this);// запомним элемент(this---> кнопка)
buttom.attr('disable',true);
//Тут ваш запрос
var data = $('#mydata').val()
   $.ajax({
       type: "POST",
       url: "/SendData.php",
       data: "data="+data,
       success: function(html) {
        /*После получения ответа разблокируем кнопку*/
         buttom.removeAttr('disable');
       /*Тут другие действия*/
           $("#result").empty();
           $("#result").append(html);
       }
   });
})
tuareg
Модератор
 
Сообщений: 359
Зарегистрирован: 24 ноя 2010, 00:44

Re: submit один раз

Сообщение Aleh » 22 апр 2012, 10:15

Спасибо уважаемому tuareg за помощь.
Код: выделить все
function send()
{
$('#myform').on('submit','input:submit',null,function(e){
e.preventDefault();
e.stopPropagation();
var buttom=$(this);// запомним элемент(this---> кнопка)
buttom.attr('disable',true);
//Тут ваш запрос
var data = $('#mydata').val()
   $.ajax({
       type: "POST",
       url: "/SendData.php",
       data: "data="+data,
       success: function(html) {
        /*После получения ответа разблокируем кнопку*/
         buttom.removeAttr('disable');
       /*Тут другие действия*/
           $("#result").empty();
           $("#result").append(html);
       }
   });
});
}

Но с таким дополнением не отсылаются данные. Может я неправильно собрал форму? Может
Код: выделить все
e.stopPropagation();
не дает срабатывать второй операции отправки данных. Мне требуется чтобы после отправки данных больше кнопку никто не смог нажать.
Aleh
 
Сообщений: 4
Зарегистрирован: 14 апр 2012, 21:37

Re: submit один раз

Сообщение tuareg » 22 апр 2012, 11:47

Конечно не правильно :).
Если Вы хотите все же использовать onclick="send();" Тогда код будет примерно такой
Код: выделить все
<input type="button" onclick="send(this);" value="Отправить" />

Код: выделить все
function send(button)
{
button.attr('disable',true);
//Тут ваш запрос
var data = $('#mydata').val()
   $.ajax({
       type: "POST",
       url: "/SendData.php",
       data: "data="+data,
       success: function(html) {
        /*После получения ответа разблокируем кнопку*/
         button.removeAttr('disable');
       /*Тут другие действия*/
           $("#result").html(html);//html ==>равносильно empty()+append()
       }
   });
}
return false;

Не правильно Вы собирали, потому что при нажатии на кнопку, на нее просто "вешалась" ф-я отправки ajax запроса, но сам он не выполнялся ")
tuareg
Модератор
 
Сообщений: 359
Зарегистрирован: 24 ноя 2010, 00:44

Re: submit один раз

Сообщение Aleh » 30 апр 2012, 23:39

Спасибо за помощь, но так тоже данные не отправляются. Пробовал по разному. Менял на $('#button').attr('disabled' , 'disabled' ); Может дело в том, что я подключаю библиотеку jquery-1.4.1.min.js
Aleh
 
Сообщений: 4
Зарегистрирован: 14 апр 2012, 21:37

Пред.

Вернуться в Вопросы от совсем новичков

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3

cron