2012-01-24 8 views
0

У меня две проблемы.пытается отправить форму php с помощью jquery

Первый: попытка отправить эту форму с помощью jquery. Когда я получаю сообщение, ничего не происходит, данные не отправляются, а все остальное работает.

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

<script type="text/javascript"> 
$(document).ready(function(){ 
    $('#popbox').click(function(){ 
     $('#form').submit(function(){ 
      $.post('url.php', function(data){ 
       var message = 'some text'; 
       $('#popbox').html('message'); 
      }); 
      return false; 
     }); 
     $('#closeForm').click(function(){ 
      $('#popbox').fadeOut(); 
     }); 
    }); 
}); 
</script> 

HTML код:

<div id="popbox"> 
    <form id="form" method="post" action="" > 
     <input type="radio" name="option" value="text1" />text1 <br> 
     <input type="radio" name="option" value="text2" />text2<br> 
     <br><input type="submit" name="sendData" value="send"/> 
    </form> 
    <div style="margin:auto; border:1px gray groove ; padding:2px 7px 2px 5px; clear:both; width:30px;border-radius:5px;"><a id="closeForm">close</a></div> 
</div> 
+0

Есть ли причина, вы привязка к 'submit' формы в событие внутри обработчика события 'click' для ссылки' # popbox'? Проблема заключается в том, что если клика по ссылке более одного раза, вы добавите в форму более одного обработчика событий 'submit'. – Jasper

ответ

1

Вы должны добавить данные формы для запроса AJAX. Для этого мы можем использовать .serialize() функции JQuery в:

 $.post('url.php', $(this).serialize(), function(data){ 
      var message = 'some text'; 
      $('#popbox').html('message'); 
     }); 
Смежные вопросы