обязательно используйте jQuery.Это самый простой способ совершать AJAX-вызовы ... которые выполняются в JavaScript.Итак, я думаю, что лучший ответ, вам понадобятся все три!
Сделайте так, чтобы страница PHP принимала параметры POST, и вместо отправки вашей формы с action="myFormResponder.php"
и method="post"
оставьте их без изменений, ипоместите это в верхней части вашей веб-страницы (перед закрывающим тегом </head>
):
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('#myForm').submit(function(){
$.post("myFormResponder.php",$('#myForm').serialize(), function(data, textStatus, xhr){
// Do whatever you need here to update your page when the AJAX call finishes
});
return false; // Cancel default submit action
});
});
</script>
Также см .: Документация jQuery: $ .post () .Это поможет вам понять, как работать с данными, переданными обратному вызову.
Я в основном заменил событие onsubmit своим собственным обработчиком событий.Если вы хотите отвечать каждый раз, когда изменяется элемент управления select, вместо этого просто прикрепите обработчик к событию change()
, например:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
// NOTE CHANGE IN NEXT TWO LINES
$('select').change(function(){
$.post("myFormResponder.php",{status: $(this).val()}, function(data, textStatus, xhr){
// Again, do what ya gotta do, if ya gotta do it
});
return false; // Cancel default submit action
});
});
</script>