2011-02-13 6 views
24

У меня есть форма, такие как:JQuery - Отправить форму асинхронно

<form action='???' method='post' name='contact'> 
     <input type="text" class="inputContact" name="mittente" /> 
     <textarea class="textContact" name="smex"></textarea> 
     <input type="submit" value="Send" /> 
    </div> 
</form> 

Я хотел бы отправить эти данные асинхронно, trought функцию JQuery $.ajax.

EDIT: с раствором:

<form name='contactForm'> 
    <input type="text" class="inputContact" name="mittente" /> 
    <textarea class="textContact" name="smex"></textarea> 
    <input type="submit" value="Send" /> 
</form> 

<script type="text/javascript"> 
$(document).ready(function() { 
    $('form[name=contactForm]').submit(function(e){ 
     e.preventDefault(); 
     $.ajax({ 
      type: 'POST', 
      cache: false, 
      url: './ajax/header_ajax.php', 
      data: 'id=header_contact_send&'+$(this).serialize(), 
      success: function(msg) { 
       $("#boxContentId").html(msg); 
      } 
     }); 
    });  
});   
</script> 
+0

Что именно делать ты хочешь знать? Вы уже знаете, что вам нужно (или хотите) использовать '$ .ajax'. Я думаю, вы уже прочли его документацию. Где вы застряли? –

+0

Я хотел бы знать, как перфорировать $ .ajax, нажав на кнопку «Отправить» – markzzz

+1

Просто примечание стороны: использование атрибута 'name' в' form' обесценивается с HTML4. Вместо этого следует использовать атрибут id. –

ответ

35
$('form[name=contact]').submit(function(){ 

    // Maybe show a loading indicator... 

    $.post($(this).attr('action'), $(this).serialize(), function(res){ 
     // Do something with the response `res` 
     console.log(res); 
     // Don't forget to hide the loading indicator! 
    }); 

    return false; // prevent default action 

}); 

См:

+5

Он также работает для загрузки файлов? – Hadesara

+0

Из моих тестов это не так. –

+0

@Hadesara async file upload here http://stackoverflow.com/questions/166221/how-can-i-upload-files-asynchronously#8758614 –

Смежные вопросы