//Javascript
function updateStudentAttendance(event)
{
if ($(this).hasClass('here')) {
$(this).removeClass('here');
$(this).addClass('absent');
var schoolId = $(this).children('p').attr('id');
var studentId = $(this).attr('id');
var classId = document.getElementById("classId").value;
postAttendance(studentId, schoolId, classId, 'Absent');
}
function postAttendance(studentId, schoolId, classId, attendanceEvent)
{
$.post('post_attendance.php', {
'studentId': studentId,
'schoolId': schoolId,
'event': attendanceEvent,
'classId': classId
}, function(data) {
// alert(data);
});
}
//php code looks like this:
<?php
print sprintf('<div id="%s" class="student span2 well well-small %s">
<input type="hidden" id="classId" name ="classId" value="%s">'
, $student->getId(), $class, $classId);
print '<img src="img/userp.png" style="width: 100%; text-align: center;">';
print sprintf('<p id="%s" style="text-align: center; font-size: 12px;">%s %s'
, $_GET['schoolId'], $student->getFirstName, $student->getLastSurname());
print '</p>';
print '</div>';
?>
これは私が使用しているコードで、ID から情報を取得するものであり、classId を取得するために非表示の要素を追加する必要がありました。次に、データベースを新しい情報で更新するように変更した後、投稿します。これは非常に奇妙な方法だと思います。これらの変数を渡すためのより良い解決策が必要です。
これを行うためのより良い方法を教えてください。ありがとう!