線上簽到系統
Google試算表
試算表名稱:0603線上點名-自主學習。
欄A:班級,欄B:座號,欄C:姓名,欄D:學號,欄E:核取方塊。
程式碼.gs
function doGet() {
var htmlOutput = HtmlService.createHtmlOutputFromFile('index')
.setTitle('學生線上簽到系統');
return htmlOutput;
}
function searchStudent(studentId) {
var spreadsheet = SpreadsheetApp.openById('Google試算表ID');
var sheet = spreadsheet.getSheetByName('工作表1');
var data = sheet.getDataRange().getValues();
for (var i = 1; i < data.length; i++) {
if (data[i][3] === studentId) {
sheet.getRange(i + 1, 5).setValue(true);
return data[i][2] + " 簽到完成";
}
}
return '查無此學號';
}
index.html
<!DOCTYPE html>
<html>
<head>
<base target="_top">
</head>
<body>
<h1>學生線上簽到系統</h1>
<input type="text" id="studentId" placeholder="請輸入學生學號(6碼)">
<button onclick="signIn()">簽到</button>
<p id="result"></p>
<script>
function signIn() {
var studentId = document.getElementById('studentId').value;
google.script.run.withSuccessHandler(updateResult).searchStudent(studentId);
}
function updateResult(result) {
document.getElementById('result').textContent = result;
document.getElementById("studentId").value = "";
}
</script>
</body>
</html>
給chatGPT的詢問內容
你是一位教師,想要使用Google試算表完成一個線上簽到系統。
Google試算表結構如下:
1.ID: 改成自己的試算表ID。
2.工作表名稱:工作表1。
3.第一列是標題列。
4.欄A:班級,欄B:座號,欄C:姓名,欄D:學號,欄E:核取方塊。
線上簽到系統功能
1.於GAS的「檔案」>「HTML」新增一個index.html網頁表單,網頁標題「學生線上簽到系統」,輸入學生學號(6碼),可輸入學生學號(6碼)當作簽到。
2.透過「學號」尋找Google試算表的相對學號。
3.找到學號則簽到成功,找不到則簽到未成功。
4.簽到成功:核取方塊打勾,回傳姓名給html。簽到未成功:回傳無此學號。
5.將GAS程式碼打包成網頁應用程式。
請詳細解說撰寫步驟。
自行加入
GAS編輯器的index.html:
function updateResult(result) {
document.getElementById('result').textContent = result;
document.getElementById("studentId").value = ""; //清除已輸入的學號
}