Mercurial > hgrepos > hgweb.cgi > skipweb
changeset 3621:164395a050f4
add kuchikomi program
author | ITO Shiho <c115022@g.koeki-u.ac.jp> |
---|---|
date | Tue, 30 Jan 2018 16:22:17 +0900 |
parents | 7a045bd97f49 |
children | 9ff3188fd649 |
files | shuzai/ice/.htaccess shuzai/ice/ajax.rb shuzai/ice/babychuchu/ajax.rb shuzai/ice/babychuchu/babychuchu.html shuzai/ice/babychuchu/bchu.json shuzai/ice/babychuchu/onari.css shuzai/ice/babychuchu/phos.js shuzai/ice/bchu.json shuzai/ice/moare.json shuzai/ice/moare/ajax.rb shuzai/ice/moare/moare.html shuzai/ice/moare/moare.json shuzai/ice/moare/onari.css shuzai/ice/moare/phos.js shuzai/ice/onari.css shuzai/ice/phos.js |
diffstat | 15 files changed, 504 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/shuzai/ice/.htaccess Tue Jan 30 16:22:17 2018 +0900 @@ -0,0 +1,3 @@ +AddHandler cgi-script .rb +Options +ExecCGI +AddType "text/html; charset=utf-8" .html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/shuzai/ice/ajax.rb Tue Jan 30 16:22:17 2018 +0900 @@ -0,0 +1,52 @@ +#!/usr/bin/env ruby +# -*- coding: utf-8 -*- + +require 'cgi' +require 'json' + +#moare = "moare.js" +#bchu = "bchu.js" + +c = CGI.new +s = c['shop'] +name = c['name'] +star = c['star'] +comment = c['comment'] +sjs = '' +inputs = {} + +if s == "moare" + sjs = 'moare.json' +elsif s == "bchu" + sjs = 'bchu.json' +end + +if star.to_i == 0 + star = 3 +elsif star.to_i > 5 + star = 5 +elsif star.to_i < 1 + star = 1 +end + +#p sjs +data = File.open(sjs) do |io| + JSON.load(io) +end +inputs["name"] = name +inputs["star"] = star +inputs["comment"] = comment + +if name != "" && star != "" && comment != "" +data.unshift(inputs) +end + +poi = File.open(sjs, "w") do |file| + str = JSON.dump(data, file) +end +#sleep(3) + +print "Content-type: text/plain; charset=UTF-8\n\n" + +#puts "#{s},#{name},#{star},#{comment}" +puts JSON.pretty_generate(data)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/shuzai/ice/babychuchu/ajax.rb Tue Jan 30 16:22:17 2018 +0900 @@ -0,0 +1,52 @@ +#!/usr/bin/env ruby +# -*- coding: utf-8 -*- + +require 'cgi' +require 'json' + +#moare = "moare.js" +#bchu = "bchu.js" + +c = CGI.new +s = c['shop'] +name = c['name'] +star = c['star'] +comment = c['comment'] +sjs = '' +inputs = {} + +if s == "moare" + sjs = 'moare.json' +elsif s == "bchu" + sjs = 'bchu.json' +end + +if star.to_i == 0 + star = 3 +elsif star.to_i > 5 + star = 5 +elsif star.to_i < 1 + star = 1 +end + +#p sjs +data = File.open(sjs) do |io| + JSON.load(io) +end +inputs["name"] = name +inputs["star"] = star +inputs["comment"] = comment + +if name != "" && star != "" && comment != "" +data.unshift(inputs) +end + +poi = File.open(sjs, "w") do |file| + str = JSON.dump(data, file) +end +#sleep(3) + +print "Content-type: text/plain; charset=UTF-8\n\n" + +#puts "#{s},#{name},#{star},#{comment}" +puts JSON.pretty_generate(data)
--- a/shuzai/ice/babychuchu/babychuchu.html Fri Jan 26 15:49:49 2018 +0900 +++ b/shuzai/ice/babychuchu/babychuchu.html Tue Jan 30 16:22:17 2018 +0900 @@ -10,8 +10,10 @@ --> </style> <link rel="stylesheet" type="text/css" href="pra.css"> +<link rel="stylesheet" type="text/css" href="onari.css"> +<script type="text/javascript" src="phos.js"></script> </head> -<body> +<body onload="asyncSend()"> <div class="top"> <h1> @@ -60,6 +62,21 @@ </div> <!-- kwsk end--> +<div class="section"> +<div class="textArea" id="textArea"> +<div id="nk"></div> +</div> +</div> +<form name="fm"> +<p>your name:<input type="text" name="name" size="15"></p> +<p>stars:<input type="number" name="star" max="5" min="1" required>/5</p> +<p>comments:<br> +<textarea name="comments" cols="40" rows="5" maxlength="200" required></textarea></p> +<input type="button" id="btnsend" name="submit" value="submit" onclick="asyncSend()"> +<input type="hidden" name="shop" id="shop" value="bchu"> +</form> + +<div id="result"></div> <div class="footer"> Copyright © 東北公益文科大学学内サークル SKIP. All Rights Reserved.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/shuzai/ice/babychuchu/bchu.json Tue Jan 30 16:22:17 2018 +0900 @@ -0,0 +1,1 @@ +[{"name":"帆","star":3,"comment":"おいしい"}] \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/shuzai/ice/babychuchu/onari.css Tue Jan 30 16:22:17 2018 +0900 @@ -0,0 +1,20 @@ +div.section{ +width:70%; +background-color: #c6c6ff; +border: 1px red solid; +font-size: 80%; +} + +div.section div.textArea{ +height: 200px; +overflow: auto; +} + +div.section div.textArea p{ +margin: 1em 10px; +} + +div.com{ +border: 3px solid navy; +border-radius: 3em 3em; +} \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/shuzai/ice/babychuchu/phos.js Tue Jan 30 16:22:17 2018 +0900 @@ -0,0 +1,82 @@ +/*function read(){ + var field = document.getElementById('textArea'); +} +function write(){//ajaxするよ +}*/ + +function mkfield(note){ + var a = 0; + var b = note.length; + var c = document.createElement('div'); + +// console.log(a < b); + + while (a < b){ + +// console.log(c); + + var box = document.createElement('div'); + var nas = document.createElement('p'); + var coms = document.createElement('p'); + + var name = note[a]["name"]; + var star = note[a]["star"].toString(); + var comment = note[a]["comment"]; + + var nas2 = document.createTextNode(name + " | " + star + " stars"); + var coms2 = document.createTextNode(comment); + + box.setAttribute('class','com'); + + nas.appendChild(nas2); + coms.appendChild(coms2); + box.appendChild(nas); + box.appendChild(coms); + + c.appendChild(box); + + a++; + } +// console.log(c); + c.setAttribute('id','nk'); + return c; +} + +function asyncSend(){ + var req = new XMLHttpRequest(); + req.onreadystatechange = function() { + var result = document.getElementById('result'); +// var shop = document.getElementById('shop').value; + if (req.readyState == 4){//通信完了 + if (req.status == 200){//通信成功 + var note = JSON.parse(req.responseText); + var field = document.getElementById('textArea'); + + field.replaceChild(mkfield(note),document.getElementById('nk')); + +// field.innerHTML = mkfield(note); +// mkfield(note); + console.log(mkfield(note).childNodes); + + result.innerHTML = "";//req.responseText; +// console.log(note[0]["name"]); + } + }else{ +// console.log(req.responseText); +// result.innerHTML = JSON.parse(req.responseText); + result.innerHTML = "通信中"; + } + } + req.open('POST', 'ajax.rb', true); + req.setRequestHeader('content-type', + 'application/x-www-form-urlencoded;charset=UTF-8'); + req.send('shop='+ encodeURIComponent(document.fm.shop.value) + '&'+ + 'name=' + encodeURIComponent(document.fm.name.value) + '&' + + 'star=' + encodeURIComponent(document.fm.star.value) + '&' + + 'comment=' + encodeURIComponent(document.fm.comments.value) + ); +} + + + +//https://qiita.com/katsunory/items/9bf9ee49ee5c08bf2b3d
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/shuzai/ice/moare.json Tue Jan 30 16:22:17 2018 +0900 @@ -0,0 +1,1 @@ +[{"name":"帆","star":"3","comment":"改行の\nテスト"},{"name":"帆","star":"5","comment":"店の雰囲気が良い。おいしい。"},{"name":"ji","star":"4","comment":"kokok"},{"name":"jode","star":4,"comment":"momomo"},{"name":"hoge","star":3,"comment":"yummy"}] \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/shuzai/ice/moare/ajax.rb Tue Jan 30 16:22:17 2018 +0900 @@ -0,0 +1,52 @@ +#!/usr/bin/env ruby +# -*- coding: utf-8 -*- + +require 'cgi' +require 'json' + +#moare = "moare.js" +#bchu = "bchu.js" + +c = CGI.new +s = c['shop'] +name = c['name'] +star = c['star'] +comment = c['comment'] +sjs = '' +inputs = {} + +if s == "moare" + sjs = 'moare.json' +elsif s == "bchu" + sjs = 'bchu.json' +end + +if star.to_i == 0 + star = 3 +elsif star.to_i > 5 + star = 5 +elsif star.to_i < 1 + star = 1 +end + +#p sjs +data = File.open(sjs) do |io| + JSON.load(io) +end +inputs["name"] = name +inputs["star"] = star +inputs["comment"] = comment + +if name != "" && star != "" && comment != "" +data.unshift(inputs) +end + +poi = File.open(sjs, "w") do |file| + str = JSON.dump(data, file) +end +#sleep(3) + +print "Content-type: text/plain; charset=UTF-8\n\n" + +#puts "#{s},#{name},#{star},#{comment}" +puts JSON.pretty_generate(data)
--- a/shuzai/ice/moare/moare.html Fri Jan 26 15:49:49 2018 +0900 +++ b/shuzai/ice/moare/moare.html Tue Jan 30 16:22:17 2018 +0900 @@ -10,8 +10,10 @@ --> </style> <link rel="stylesheet" type="text/css" href="pra.css"> +<link rel="stylesheet" type="text/css" href="onari.css"> +<script type="text/javascript" src="phos.js"></script> </head> -<body> +<body onload="asyncSend()"> <div class="top"> <h1> @@ -74,6 +76,21 @@ </div> <!-- kwsk end--> +<div class="section"> +<div class="textArea" id="textArea"> +<div id="nk"></div> +</div> +</div> +<form name="fm"> +<p>your name:<input type="text" name="name" size="15"></p> +<p>stars:<input type="number" name="star" max="5" min="1" required>/5</p> +<p>comments:<br> +<textarea name="comments" cols="40" rows="5" maxlength="200" required></textarea></p> +<input type="button" id="btnsend" name="submit" value="submit" onclick="asyncSend()"> +<input type="hidden" name="shop" id="shop" value="moare"> +</form> + +<div id="result"></div> <div class="footer"> Copyright © 東北公益文科大学学内サークル SKIP. All Rights Reserved.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/shuzai/ice/moare/moare.json Tue Jan 30 16:22:17 2018 +0900 @@ -0,0 +1,1 @@ +[{"name":"nyar","star":"3","comment":"umashi"},{"name":"帆","star":"3","comment":"改行の\nテスト"},{"name":"帆","star":"5","comment":"店の雰囲気が良い。おいしい。"},{"name":"ji","star":"4","comment":"kokok"},{"name":"jode","star":4,"comment":"momomo"},{"name":"hoge","star":3,"comment":"yummy"}] \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/shuzai/ice/moare/onari.css Tue Jan 30 16:22:17 2018 +0900 @@ -0,0 +1,20 @@ +div.section{ +width:70%; +background-color: #c6c6ff; +border: 1px red solid; +font-size: 80%; +} + +div.section div.textArea{ +height: 200px; +overflow: auto; +} + +div.section div.textArea p{ +margin: 1em 10px; +} + +div.com{ +border: 3px solid navy; +border-radius: 3em 3em; +} \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/shuzai/ice/moare/phos.js Tue Jan 30 16:22:17 2018 +0900 @@ -0,0 +1,82 @@ +/*function read(){ + var field = document.getElementById('textArea'); +} +function write(){//ajaxするよ +}*/ + +function mkfield(note){ + var a = 0; + var b = note.length; + var c = document.createElement('div'); + +// console.log(a < b); + + while (a < b){ + +// console.log(c); + + var box = document.createElement('div'); + var nas = document.createElement('p'); + var coms = document.createElement('p'); + + var name = note[a]["name"]; + var star = note[a]["star"].toString(); + var comment = note[a]["comment"]; + + var nas2 = document.createTextNode(name + " | " + star + " stars"); + var coms2 = document.createTextNode(comment); + + box.setAttribute('class','com'); + + nas.appendChild(nas2); + coms.appendChild(coms2); + box.appendChild(nas); + box.appendChild(coms); + + c.appendChild(box); + + a++; + } +// console.log(c); + c.setAttribute('id','nk'); + return c; +} + +function asyncSend(){ + var req = new XMLHttpRequest(); + req.onreadystatechange = function() { + var result = document.getElementById('result'); +// var shop = document.getElementById('shop').value; + if (req.readyState == 4){//通信完了 + if (req.status == 200){//通信成功 + var note = JSON.parse(req.responseText); + var field = document.getElementById('textArea'); + + field.replaceChild(mkfield(note),document.getElementById('nk')); + +// field.innerHTML = mkfield(note); +// mkfield(note); + console.log(mkfield(note).childNodes); + + result.innerHTML = "";//req.responseText; +// console.log(note[0]["name"]); + } + }else{ +// console.log(req.responseText); +// result.innerHTML = JSON.parse(req.responseText); + result.innerHTML = "通信中"; + } + } + req.open('POST', 'ajax.rb', true); + req.setRequestHeader('content-type', + 'application/x-www-form-urlencoded;charset=UTF-8'); + req.send('shop='+ encodeURIComponent(document.fm.shop.value) + '&'+ + 'name=' + encodeURIComponent(document.fm.name.value) + '&' + + 'star=' + encodeURIComponent(document.fm.star.value) + '&' + + 'comment=' + encodeURIComponent(document.fm.comments.value) + ); +} + + + +//https://qiita.com/katsunory/items/9bf9ee49ee5c08bf2b3d
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/shuzai/ice/onari.css Tue Jan 30 16:22:17 2018 +0900 @@ -0,0 +1,20 @@ +div.section{ +width:70%; +background-color: #c6c6ff; +border: 1px red solid; +font-size: 80%; +} + +div.section div.textArea{ +height: 200px; +overflow: auto; +} + +div.section div.textArea p{ +margin: 1em 10px; +} + +div.com{ +border: 3px solid navy; +border-radius: 3em 3em; +} \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/shuzai/ice/phos.js Tue Jan 30 16:22:17 2018 +0900 @@ -0,0 +1,82 @@ +/*function read(){ + var field = document.getElementById('textArea'); +} +function write(){//ajaxするよ +}*/ + +function mkfield(note){ + var a = 0; + var b = note.length; + var c = document.createElement('div'); + +// console.log(a < b); + + while (a < b){ + +// console.log(c); + + var box = document.createElement('div'); + var nas = document.createElement('p'); + var coms = document.createElement('p'); + + var name = note[a]["name"]; + var star = note[a]["star"].toString(); + var comment = note[a]["comment"]; + + var nas2 = document.createTextNode(name + " | " + star + " stars"); + var coms2 = document.createTextNode(comment); + + box.setAttribute('class','com'); + + nas.appendChild(nas2); + coms.appendChild(coms2); + box.appendChild(nas); + box.appendChild(coms); + + c.appendChild(box); + + a++; + } +// console.log(c); + c.setAttribute('id','nk'); + return c; +} + +function asyncSend(){ + var req = new XMLHttpRequest(); + req.onreadystatechange = function() { + var result = document.getElementById('result'); +// var shop = document.getElementById('shop').value; + if (req.readyState == 4){//通信完了 + if (req.status == 200){//通信成功 + var note = JSON.parse(req.responseText); + var field = document.getElementById('textArea'); + + field.replaceChild(mkfield(note),document.getElementById('nk')); + +// field.innerHTML = mkfield(note); +// mkfield(note); + console.log(mkfield(note).childNodes); + + result.innerHTML = "";//req.responseText; +// console.log(note[0]["name"]); + } + }else{ +// console.log(req.responseText); +// result.innerHTML = JSON.parse(req.responseText); + result.innerHTML = "通信中"; + } + } + req.open('POST', 'ajax.rb', true); + req.setRequestHeader('content-type', + 'application/x-www-form-urlencoded;charset=UTF-8'); + req.send('shop='+ encodeURIComponent(document.fm.shop.value) + '&'+ + 'name=' + encodeURIComponent(document.fm.name.value) + '&' + + 'star=' + encodeURIComponent(document.fm.star.value) + '&' + + 'comment=' + encodeURIComponent(document.fm.comments.value) + ); +} + + + +//https://qiita.com/katsunory/items/9bf9ee49ee5c08bf2b3d