実現したいこと
サイトのフォームに入力された文字がスプレッドシートに書き込まれていくようにしたいです。
発生している問題・分からないこと
送りたい内容に&が含まれているとそれ以降が認識されなくなり以前の部分しか表示されません
例えば、’URL?q=’に aaa&bbb を送ろうとすると’URL?q=aaa&bbb’となり&bbbが切り捨てられしまい、結果的に ’URL?q=aaa’ となります。
以下のjavascriptはスプレッドシートのgoogle app scriptのコードです
該当のソースコード
html
1<form> 2<input type="text" name="url" class="inputdata" id="name" placeholder="Search" style="width: 700px" onkeydown="fetch('URL?q=' + document.querySelector('.inputdata').value)" /> 3</form>
Javascript
1function doGet(e) { 2 const spreadSheetByActive = SpreadsheetApp.getActive(); 3 const sheet = spreadSheetByActive.getActiveSheet(); 4 sheet.appendRow([e.parameter.q]); 5 const output = ContentService.createTextOutput(); 6 output.setMimeType(ContentService.MimeType.JSON); 7 output.setContent(e.parameter.q); 8 return output; 9}
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
ダブルクォーテーションや括弧などで囲ってしまえばいけるのではと思ったのですがそれでも&以降が認識されませんでした。
以下のように変更してみました。
<form> <input type="text" name="url" class="inputdata" id="name" placeholder="Search" style="width: 700px" onkeydown="fetch('URL?q=' + '[' + document.querySelector('.inputdata').value + ']')" /> </form>
補足
ラムダ技術部さん の「【注意】偽サイト作るのちょろすぎて草」
https://www.youtube.com/watch?v=hIrxZv1CLxk
という動画を見て試しに作りました
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2024/03/23 18:21