前提・実現したいこと
初心者ですので、表現が間違っているところがあるかもしれません。
基礎もなくネット情報をつまみ食いしながら取り組んでしまっているので、その点ご容赦ください。。。
GASで以下Webアプリを作成しようとしています。
スプレッドシートから項目行をピックアップしてテーブル表示
それぞれの項目行にチェックボックスを設定
ユーザーがチェックした項目に対してのみ、
もとのスプレッドシートの対応項目行の値を変更する
具体的に言うと、20行分データがあるうち、未承認のステータスのもの(例えば10個)をピックアップして表示し、
承認したいものだけ(例えば5個)チェックしてボタンを押すと、スプレッドシート内の未承認が承認に切り替わる
発生している問題・エラーメッセージ
submitボタン押下をトリガーとして、チェックボックスのOn/Off状態を配列のようにGAS側に渡す方法が分からない
そもそも渡せるものなんでしょうか?
該当のソースコード
html
1<!----------body部分の抜粋です-----------------> 2 3<!---------------------- テーブル内のチェックボックスを全てOFF/ONする関数とボタン ---------------------> 4<SCRIPT TYPE="text/javascript"> 5var count; 6function BoxChecked(check){ 7 for(count = 0; count < document.approval["OnOff[]"].length; count++){ 8 document.approval["OnOff[]"][count].checked = check; 9 } 10} 11</SCRIPT> 12 13<INPUT TYPE="button" onClick="BoxChecked(true);" VALUE="全て選択"> 14<INPUT TYPE="button" onClick="BoxChecked(false);" VALUE="全て解除"> 15 16 17<!---------------------- 承認ボタン(チェックONのものを承認する形にしたい) ---------------------> 18 <form name = "approval" method="post" action="URL"> 19 <input type="submit" value="承認" > 20 <br> 21 22<!---------------------- スプレッドシートからデータを取得してテーブル出力 ---------------------> 23 <table> 24 <? 25 // スプレッドシートからデータを取得 26 var data = getData(address); 27 // <!-- テーブルの見出し作成 --> 28 // <!---1つでも対象があるかどうかを確認してからテーブル作成---------> 29 if(data[1][0]){ 30 output.append('<tr>'); 31 output.append('<th bgcolor="#ef93b6">承認<br/>チェック</th>'); 32 output.append('<th bgcolor="#ef93b6">' + data[0][0] + '</th>'); 33 output.append('<th bgcolor="#ef93b6">' + data[0][1] + '</th>'); 34 output.append('<th bgcolor="#ef93b6">' + data[0][2] + '</th>'); 35 output.append('</tr>'); 36 37 //テーブルを作成 38 for(var i=1;i<data.length;i++){ 39 output.append('<tr>'); 40 //output.append('<td> <label><input name="item" value="'+i+'" type="checkbox" /> </label></td>'); 41 //テーブル各列最初の項目にチェックボックスを挿入 42 output.append('<td> <input name="OnOff[]" type="checkbox" id="OnOff[]" ></td>'); 43 output.append('<td>' + data[i][0] + '</td>'); 44 output.append('<td>' + data[i][1] + '</td>'); 45 output.append('<td>' + data[i][2] + '</td>'); 46 output.append('</tr>'); 47 } 48 } 49 //<!---1つも対象が無い場合は、その旨を表示---------> 50 else{ 51 ?> <p class = "no-request"> 現在、対象はありません <br></p> <? 52 } 53 ?> 54 55 </table> 56 </form> 57
試したこと
ボタンを押すと、リストアップした全て(10個)の状態が全て切り替わるところまでは作成できています。
イメージとしては、配列OnOff[ 1 0 0 1 0 0 1 1 0 1 ]のような状態で10個のうち上からこの順番で5個ONという情報が渡されて
GAS側で "if(OnOff[j] == 1)"で切り替える事を期待しています
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。