2014-02-06 3 views
2

Я хочу отправить форму без обновления страницы, из того, что я прочитал, она должна работать с ajax, что я делаю неправильно?Отправить форму без обновления страницы ajax, php, javascript?

все это работает с PHP и прочее, когда я делаю это:

document.getElementById("msg_form").submit(); 

Но я хочу, чтобы представить без обновления страницы.

Часть Html:

<form name="msg_form_name" id="msg_form" class="email" action="mailer.php"> 
<p>Your E-mail:</p> 
<input id="email_form" name="email" type="text" /> 
<p>Amount:</p> 
<input id="amount_form" name="amount" class="amount_num" type="text" maxlength="5" /> 
<div id="msg_txt_lenght">characters left: 38</div> 
<p>Message:</p> 
<input id="message_form" name="message" class="message_form_lim" type="text" > 
<input type="hidden" id="storeUrl_id" name="storeUrl_form" value="Nan"></form> 
</form> 

Часть JavaScript:

$('#msg_form').submit(function (e) { 
    e.preventDefault(); 

$.ajax({    
type: 'post', 
url: 'mailer.php', 
data: $('form').serialize(), 
success: function() { 
alert('form was submitted'); 
} 
    }); 

    return false; 
}); 

Спасибо заранее.

EDIT: может исправили это было его представить, но не отправить отправить

+1

Так Что проблема ? Это работает? Что не работает? –

+0

Попробуйте POST во всех шапках ... не уверен, что это безумно, но это хорошая практика. – VIDesignz

+0

У вас есть JQuery? – VIDesignz

ответ

4

решаемые он просто заменил:

$('#msg_form').submit(function (e) { 
    e.preventDefault(); 

$.ajax({    
type: 'post', 
url: 'mailer.php', 
data: $('#msg_form').serialize(), 
success: function() { 
alert('form was submitted'); 
} 
    }); 

    return false; 
}); 

с этим вместо

$.post('mailer.php', $('#msg_form').serialize()) 
Смежные вопросы