お世話になります。
ちょっとした会の幹事を一年間やることになりました。(余談)
以下のプログラムで宛先、件名、お名前、預かり金額をアンドロイド携帯のローカルストレージ
に保存しておきたいのですが、
どのようにすればよいでしょうか?
ご指導お願いいたします。
以下のプログラム(?)は宛先などを記入して、メーラーから送信するといったものです。
<form name=mailform>
宛先:<input name=to type=text value="info@example.com"><br>
件名:<input name=subject type=text value="hello"><br>
お名前:<input name=name type=text value="namae"><br>
預かり金額:<input name=azukari type=text value="jyusyo"><br>
<button type=submit>送信</button>
</form>
<script>window.addEventListener('load',function(ev){
document.forms['mailform'].addEventListener('submit',function(submitEv){
submitEv.preventDefault();
var form = submitEv.target;
var to = form.elements['to'].value;
var subject = form.elements['subject'].value;
var name = form.elements['name'].value;
var addr = form.elements['addr'].value;
var body = "お名前:"+ name + "預かり金額:" + azukari
if (!to) return;
var url = "mailto:" + to + "?subject=" + subject + "&body=" + body;
var a = form.appendChild(document.createElement('a'));
a.href = url;
a.click();
form.removeChild(a);
}, false);
}, false)</script>
※このプログラムも以前こちらで質問して教えていただいたものです。
素人の為、プログラムの説明などはうまくできないと思いますが、ちょっと勉強しましたので、
わかる範囲で回答に必要な質問には答える覚悟です。
よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
ローカルへの保存といっても、テキストファイルのような形でSDカードに保存するようなやり方はちょっと難しいでしょう。
そもそもWebに搭載されているJavaScriptというのは、ローカル環境へのアクセスを厳しく制限して作られています。だって、スクリプトでファイルを保存できるようになっていたら、例えばシステムの起動ディレクトリにウイルスファイルを保存したり、システムのファイルを書き換えたりできるってことでしょう? それはあまりに危険です。
というわけで、JavaScriptのスクリプトをちょっと書き換えてローカルに保存できるようにする、という考え方は捨てて下さい。方法としては、以下の3つのいずれかがいいと思います。
1. サーバーに保存する
サーバーを立ててそこにデータを送信し、保存する。そこからデータをダウンロードすることは可能です。このやり方なら、ローカルにファイルとして保存できます。ただし面倒。
2. ローカルストレージを使う
JavaScriptでは、テキストに名前をつけて保存しておけます。こんな感じです。
localStorage.setItem("名前", 保存するテキスト );
これで保存したものは、ブラウザを終了した後も保存して残ります。消えたりはしません。取り出すときはこうします。
var 変数 = localStorage.getItem("名前");
これで、指定した名前で保存したテキストが取り出せます。テキストを取り出すためのページを作って、そこにアクセスして表示するようにすれば便利でしょう。個人的には一番てっとり早くておすすめ。
3. テキストを表示して手作業で保存する
新しいページを開いてテキストを表示し、それを手作業で保存する、というやり方はあるでしょう。Android 4.0以降なら、オフライン用に保存できるので、Webページとして保存しておくというやり方ができます。例えば、こんな感じ。
var newwin = window.open("", "");
newwin.document.open();
newwin.document.write( 表示するテキスト );
newwin.document.close();
これでテキストを表示したページが開かれますから、それを保存すればいいでしょう。
回答有難うございます。
2ローカルストレージを使うを試してみます。
いろいろ不安材料もあるようです。(ウイルスとかファイルの書き換えとか)
慎重にしなくてはならないようですね。
わたしの場合、
localStorage.setItem("宛先", "");
var to type= localStorage.getItem("宛先");
といった書き方で間違いないでしょうか?
ご指導お願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- JavaScript 以前の質問だと、どの条件でも配列が表示されてしまいます。 1 2022/07/09 11:40
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- HTML・CSS 私の能力からして間違っていないような気がします。 4 2022/09/30 13:24
- PHP php ログイン 1 2022/11/01 00:24
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
hiddenのvalueの値を変えたい
-
IEで動くのに、Firefoxで動かな...
-
value内に変数を入れたい
-
テキストボックスに入力された...
-
ラジオボタンと連動して文字列...
-
フォームの必須項目を埋めるま...
-
フォームで入力した値を別のフ...
-
CDOMailで本文テキストの文字コ...
-
VB.NET DateTimeの型について
-
switchを使って四則演算のプロ...
-
フォームに入力された数値を計...
-
プルダウン選択時、既に入力済...
-
JAVASCRIPTで、ボタンを押した...
-
フォーム内の値のチェックについて
-
ホームページビルダーVer6で、...
-
HTML、Javascriptでトグルボタ...
-
ホームページビルダーのスクリ...
-
PHPとJSで同じNAME属性を使いた...
-
return trueとreturn falseの用...
-
ボタン2回押しを無効にしたい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
value内に変数を入れたい
-
hiddenのvalueの値を変えたい
-
3桁区切りのカンマをつけたい...
-
VB.NET DateTimeの型について
-
複数のsubmitボタンで押された...
-
テキストボックスに入力された...
-
フォーム内容を上から順番にJav...
-
VBAをJavaScriptに変換したいです
-
javascriptでhiddenに二次元配...
-
大量のselect要素のvalueを短い...
-
フォームで入力した値を別のフ...
-
プルダウン選択時、既に入力済...
-
ラジオボタンと連動して文字列...
-
引数に数値、文字列の混在
-
クイズ作成:15個の問題から5個...
-
クリックの度に加算していくには?
-
setIntervalの間隔を途中で変更...
-
Pythonで会員サイトの自動ログ...
-
selectboxのoptionタグのvalue...
-
JavaScriptによる自動計算フォ...
おすすめ情報