Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Запрос выполняется больше 1 раза (https://javascript.ru/forum/jquery/7959-zapros-vypolnyaetsya-bolshe-1-raza.html)

grusha 28.02.2010 21:01

Запрос выполняется больше 1 раза
 
Есть код html .
<div class="test">
<a class='message_overlay' onclick=overlay_box(2,'tester') href='#message_href'>Send Message</a>
<div>
<div class="test">
<a class='message_overlay' onclick=overlay_box(3,'tester2') href='#message_href'>Send Message</a>
<div>
<div class="test">
<a class='message_overlay' onclick=overlay_box(4,'alex') href='#message_href'>Send Message</a>
<div>

<div class="simple_box">
    <form method="get" action="" class="exp_valid">
    </form>
</div>

И jQuery код
function overlay_box(user_id,user_login,replay){
	var api = $("div.simple_box").overlay({oneInstance: true, api: true});  
	api.load();  
	api = $("div.simple_box").overlay();
	
		jQuery("div.simple_box form").submit(function(){
			  
			$.get('test_ajax.php',$(this).serialize(),
			function(data){
				
			} 
			);
			return false;
														 
		});
}


При нажатии ссылки открывается окно с формой,здесь я привёл сокращенный вариант формы.
Если нажать один раз и заполнить форму , а затем её отправить , то всё работает как надо .А если нажать на ссылку 2 или 3 раза или более , то запрос get тоже выполняется столько же раз сколько нажата ссылка,подскажите как сделать так ,чтобы форма отправлялась только 1 раз.
Для открытия окна использую плагин jQuery Tools http://flowplayer.org, пробовал и без плагина , проблема не исчезает.

grusha 01.03.2010 00:59

Вопрос решён.
Помогли на другом форуме.
Вот решение
$(function(){
jQuery("div.simple_box form").submit(function(){
         
         $.get('test_ajax.php',$(this).serialize(),
         function(data){
           
         }
         );
         return false;
                                         
      });
function overlay_box(user_id,user_login,replay){
   var api = $("div.simple_box").overlay({oneInstance: true, api: true});


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