私がこのフォームを持っているとしましょう:
<form action="Change-status.php" method="post">
<select class="changeStatus" name="changeStatus">
<option value="0">Starting</option>
<option value="1">Ongoing</option>
<option value="2">Over</option>
</select>
<input class="projectId" type="hidden" name="projectId" value="<?php echo $data['id'];?>"/>
</form>
現在、このスクリプトを使用してフォームを送信していますが、更新することを意味します:
$('select').change(function ()
{
$(this).closest('form').submit();
});
私がやりたいことは、ページを更新せずに変更を選択してフォームを送信することです。そのためにはAJAXを使用する必要があることは知っていますが、それを実装する方法を正確に理解できませんでした。
これを行う方法を教えてもらえますか?
ご協力いただきありがとうございます。
編集 :
コメントを考慮した後、次のコードになりました。
HTML :
<form action="" method="post">
<select class="changeStatus" name="changeStatus">
<option value="0">Starting</option>
<option value="1">Ongoing</option>
<option value="2">Over</option>
</select>
<input class="projectId" type="hidden" name="projectId" value="<?php echo $data['id'];?>"/>
</form>
JS:
$(document).ready(function() {
$('select.changeStatus').change(function(){
$.ajax({
type: 'POST',
url: 'Change-status.php',
data: {selectFieldValue: $('select.changeStatus').val(), projectId: $('input[name$="projectId"]').val()},
dataType: 'html'
});
});
});
PHP:
<?php
include('../Include/Connect.php');
$changeStatus=$_POST['selectFieldValue'];
$id=$_POST['projectId'];
$sql='UPDATE project SET progress="'.$changeStatus.'" WHERE id="'.$id.'"';
mysql_query($sql) or die("Erreur: ".mysql_error());
?>