Skip to content

Instantly share code, notes, and snippets.

@sam-ple

sam-ple/add.html Secret

Created May 11, 2019 05:57
Show Gist options
  • Save sam-ple/e33cea0107330dfabded91c888bdec95 to your computer and use it in GitHub Desktop.
Save sam-ple/e33cea0107330dfabded91c888bdec95 to your computer and use it in GitHub Desktop.
管理システム
<!DOCTYPE html>
<html>
<body>
<div>
<h1><a href="<?=url?>">管理システム</a></h1>
<h2>新規登録ページ</h2>
</div>
<form method="POST" action="<?=url?>?action=addData" target="_top">
<table>
<thead>
<tr>
<th>項目名</th><th>内容</th>
</tr>
</thead>
<tbody>
<tr><td>データ01</td><td><input type="text" name="data01"></td></tr>
<tr><td>データ02</td><td><input type="text" name="data02"></td></tr>
</tbody>
</table>
<input type="submit" value="新規登録">
</form>
</body>
</html>
var sheet = SpreadsheetApp.openById("*******************").getSheetByName("シート1");
var url = "https://script.google.com/*******************/exec";
//var url = "https://script.google.com/*******************/dev";
function doPost(e){
doGet(e);
return HtmlService.createTemplateFromFile("index").evaluate();
}
function doGet(e){
if (e.parameter.action == undefined) {
return HtmlService.createTemplateFromFile("index").evaluate().setTitle('管理システム|情報一覧ページ');
} else if (e.parameter.action == 'add'){
return HtmlService.createTemplateFromFile("add").evaluate().setTitle('管理システム|新規登録ページ');
} else if (e.parameter.action == 'view'){
no = e.parameter.no;
return HtmlService.createTemplateFromFile("view").evaluate().setTitle('管理システム|閲覧・編集ページ');
} else if (e.parameter.action == 'addData'){
no = sheet.getLastRow();
data01 = e.parameter.data01;
data02 = e.parameter.data02;
var array = [ no, data01, data02 ];
sheet.appendRow(array);
return HtmlService.createTemplateFromFile("index").evaluate();
} else if (e.parameter.action == 'updateData'){
no = e.parameter.no;
data01 = e.parameter.data01;
data02 = e.parameter.data02;
var array = [[ no, data01, data02 ]];
var i = parseInt(no) + 1;
sheet.getRange(i,1,1,array[0].length).setValues(array);
return HtmlService.createTemplateFromFile("index").evaluate();
}
}
function getViewUrl (no, name) {
var viewUrl = url + "?action=view&no=" + no;
return '<a href="' + viewUrl + '" target="_top">' + name + '</a>';
}
<!DOCTYPE html>
<html>
<head>
<base target="_top">
</head>
<body>
<div id="header">
<h1><a href="<?=url?>">管理システム</a></h1>
<h2>情報一覧ページ</h2>
<a href="<?=url?>?action=add">新規登録</a>
</div>
<div id="content">
<?
output.append('<table>');
output.append('<thead>');
var Data = sheet.getRange(1,1,1,sheet.getLastColumn()).getValues();
no = Data[0][0];
data01 = Data[0][1];
data02 = Data[0][2];
output.append('<tr>');
output.append('<th>' + no + '</th>');
output.append('<th>' + data01 + '</th>');
output.append('<th>' + data02 + '</th>');
output.append('</tr>');
output.append('</thead>');
output.append('<tbody>');
var Data = sheet.getRange(2,1,sheet.getLastRow()-1,sheet.getLastColumn()).getValues();
for(var i=0; i<Data.length; i++){
no = Data[i][0];
data01 = Data[i][1];
data02 = Data[i][2];
output.append('<tr>');
output.append('<td>' + getViewUrl(no,no) + '</td>');
output.append('<td>' + data01 + '</td>');
output.append('<td>' + data02 + '</td>');
output.append('</tr>');
}
output.append('</tbody>');
output.append('</table>');
?>
</div>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<base target="_top">
</head>
<body>
<div>
<h1><a href="<?=url?>">管理システム</a></h1>
<h2>閲覧・編集ページ</h2>
</div>
<?
var Data = sheet.getRange(2,1,sheet.getLastRow()-1,sheet.getLastColumn()).getValues();
for(var i=0; i<Data.length; i++){
if(no == Data[i][0]){
no = Data[i][0];
data01 = Data[i][1];
data02 = Data[i][2];
break;
}
}
?>
<form method="POST" action="<?=url?>?action=updateData" target="_top">
<table>
<thead>
<tr>
<th>項目名</th><th>内容</th>
</tr>
</thead>
<tbody>
<tr><td>No</td><td><input type="text" name="no" value="<?=no?>" readonly="readonly"></td></tr>
<tr><td>データ01</td><td><input type="text" name="data01" value="<?=data01?>"></td></tr>
<tr><td>データ02</td><td><input type="text" name="data02" value="<?=data02?>"></td></tr>
</tbody>
</table>
<input type="submit" value="更新">
</form>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment