Bus errorとSegmentation faultに困ったら見るブログ

物理の研究者による日々の研究生活のメモ書きです ( python/emacs/html/Japascript/シェルスクリプト/TeX/Mac/C言語/Linux/git/tmux/R/ポケモンGO)

【html/Javascript/GAS】投票フォームのあれこれ

天啓を得て、Google Apps Script(通称GAS)を使うことになった
GASにhtmlのformからの情報を流し込む

以前もhtmlのformは使ったことがあったので、
それをまとめた記事があると思ってたけどどこにないので改めてまとめておく


■ 参考 : ピュアな JavaScript でフォーム(form)系要素の値を取得, 設定する方法一覧

formではいろんなタイプの入力方法がある
↑のページでリストアップされているので、改めてここでは書かなくてもいいかぁ〜

inputタグで使えるものとしては以下のものがある
text
radio
checkbox
select
testarea
file
button
などなど

■ 参考 : セレクトボックスを作る

■ 参考 : ラジオボタンを作る

■ 参考 : 隠しデータを送信する
画面には表示はしないけど、入力を送ることができるhiddenとかもある
これで、ユーザーが選ぶ必要がない時刻とかの情報も送ることができる


ユーザーに複数の選択肢を選んでほしいときがあった
ラジオボタンってのは1つの選択肢しか選べないものらしい

複数選択はチェックボタン input type=”checkbox” で実装するらしい




長めの文章を入力してもらう場合は1行のみのtextでは不十分
なのでtextareaタグを使う

<textarea name="comment" cols="50" rows="5" placeholder=\"default comment or fan letter\"></textarea>
みたいな感じで、大きさを5x50にできる

■ 参考 : inputタグ、textareaタグ、selectタグ
で、これらの入力をjavascriptで受け取って何かをやる
ただし、javascriptはユーザー側のウェブブラウザで実行されるので
その後でサーバーのファイルを改変したり〜とかはできない

■ 参考 : HTMLとJavaScriptの関係とは?|呼び出し・制御方法について解説


formの入力に応じてなにか要素を追加したい場合は↓
■ 参考 : JavaScriptで要素を生成・追加する



ただ、GASの場合は、formの入力を受け取ってそれをさらに別の場所に送ったりできる
それについては次の記事でまとめる予定


ボタンを押すと、投票フォームのテキストボックスになにか指定したテキストを代入したいとき
javascriptで実装可能

■ 参考 : テキストボックスに値を設定する(getElementByIdメソッド)

<input type="text" value="red" id="text_box" maxlength="5">
<input type="button" value="ボタン" onclick="clickAddText()">
<input type="button" value="クリア" onclick="clickClearText()">
みたいな感じで箱をhtmlに用意しておく

clickAddText()
clickClearText()
javascriptの関数
テキストボックスにはidを設定しておく、関数内でそのidの値に代入できる

<script type="text/javascript">function clickAddText(){
document.getElementById("text_box").value = "defalut_text";
}

function clickClearText(){
document.getElementById("text_box").value = "";
}
</script>



ランキング参加中です

↓クリックしていただけると嬉しいです〜