Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Проблемы с POST (https://javascript.ru/forum/jquery/24819-problemy-s-post.html)

cobria2 15.01.2012 02:24

Проблемы с POST
 
Доброго времени суток!

Возникла такая проблема:
имеется код который выполняет следующие действия:
1. сначала яваскриптом подгружается форма ($('#.....').html('........');)
2. в форме поля для ввода пароля: старый и два новых. Новые проверяются на соответствие и если они совпали, то данные постом отсылаются в пхп, где происходят некоторые манипуляции, данные записываются в базу и отправляется письмо, НО

ПРОБЛЕМА: при нажатии на кнопку <input type='button' value='Обновить'>
отправляется много запросов POST (2 или 3), соответственно отправляется несколько писем, что не хорошо.
После подтверждения соответствия паролей кнопка сразу блокируется, так что два раза на неё нажать нельзя.

ЗЫ страница работает с использованием сессий.

$("#upd_pass2").live('keyup',function()
{
   var pass1 = $('#upd_pass1').val();
   var pass2 = $('#upd_pass2').val();
   if(pass1 == pass2)
   {
        $("#upd_pass_subm").removeAttr("disabled");
	

        $("#upd_pass_subm").live('click',function()
             {
	          $("#upb_pass_subm").attr("disabled","disabled");
	          var old_pass = $("#old_pass").val();
	          var user_id = $("#span_userid").text();
	          var update_pass = 1;
	           $("#upd_pass_subm").ajaxStart(function({$(this).val("ОБработка...")});
	          $("#upd_pass_subm").ajaxStop(function() {$(this).hide()});
	           $.post(
	                    "ajax/ajax.php",
	                     {var1:var1,var2:var2,var3:var3}, //переменные var все установлены правильно, здесь для примера
	                      function(data){$('#append').text(""); $("#append").text(data);})
	          });
	
     }else{$("#upd_pass_subm").attr("disabled","disabled");}
	

});


Страница работает с использованием сес

Nekromancer 15.01.2012 02:31

Нефиг вешать события в событии.
$("#upd_pass_subm").live('click',function()

Вынесите за пределы:
$("#upd_pass2").live('keyup',function()

cobria2 15.01.2012 20:37

Пробовал, не помогает

Nekromancer 16.01.2012 11:10

cobria2,
А показать как попробовали никак? Всё помогает, вы не правильно что то делаете.


Часовой пояс GMT +3, время: 21:04.