回答編集履歴

9

追記

2016/11/02 10:13

投稿

hiim
hiim

スコア1689

test CHANGED
@@ -94,6 +94,76 @@
94
94
 
95
95
 
96
96
 
97
+ 値をフォームに補完するのはこんな感じで
97
98
 
98
99
 
99
100
 
101
+ ```
102
+
103
+ function save(){
104
+
105
+ var name = document.getElementById("victory");
106
+
107
+ var email = document.getElementById("email");
108
+
109
+ var msg = document.getElementById("msg");
110
+
111
+
112
+
113
+ savename = sessionStorage.getItem("savename");
114
+
115
+ savemail = sessionStorage.getItem("savemail");
116
+
117
+ savequestion = sessionStorage.getItem("savequestion");
118
+
119
+
120
+
121
+ name.innerHTML = savename;
122
+
123
+ email.innerHTML = savemail;
124
+
125
+ msg.innerHTML = savequestion;
126
+
127
+ }
128
+
129
+
130
+
131
+ ~略~
132
+
133
+
134
+
135
+ <form id="form1">
136
+
137
+ <p class="text1">確認画面</p>
138
+
139
+
140
+
141
+ <span class="li1">名前</span><div id="victory"> </div><br>
142
+
143
+ <span class="li1">性別</span><span class="li2" id='gender'> </span><br>
144
+
145
+
146
+
147
+ <span class="li1">メールアドレス</span><span class="li2" id='email'></span><br>
148
+
149
+ <span class="li7">お問い合わせ内容</span><span class="li8" id='msg'></span><br>
150
+
151
+
152
+
153
+
154
+
155
+
156
+
157
+ <br>
158
+
159
+
160
+
161
+ <input type="button" value="修正" style="margin-left:220px;margin-top:10px;" onClick="jamp1()">
162
+
163
+ <input type="button" value="送信" style="margin-left:0px;margin-top:10px;" onClick="jamp3()"><br>
164
+
165
+ </form>
166
+
167
+ ```
168
+
169
+

8

修正

2016/11/02 10:13

投稿

hiim
hiim

スコア1689

test CHANGED
@@ -82,6 +82,8 @@
82
82
 
83
83
  > SessionStorageの場合
84
84
 
85
+
86
+
85
87
  1.htmlのsave関数にあるように`savename = sessionStorage.getItem("savename");`等のSessionStorageから値を取得する処理を2.htmlにも書かないと値をとる事ができません。またsessionStorageの機能を使う場合、GETで行うのであれば、の箇所で説明した、URLの?以降等の処理はいりません。
86
88
 
87
89
 

7

修正

2016/11/02 09:59

投稿

hiim
hiim

スコア1689

test CHANGED
@@ -28,32 +28,70 @@
28
28
 
29
29
  ###追記
30
30
 
31
- 今回記載されているソースは値の引き渡しをGETで行う方法とSessionStorageで行う2つの方法がごっちゃになっているように見受けられます。まずGETで行うのであれば
31
+ 今回記載されているソースは値の引き渡しをGETで行う方法とSessionStorageで行う2つの方法がごっちゃになっているように見受けられます。どちらか片方を選択してつくり込みを行う事になると思います。
32
32
 
33
33
 
34
34
 
35
- 1.htmlからフォームの送信ボタンで2.htmlへ飛んだ際、GETでパラメータがURL欄に付与されているところまでは良いのですが、2.htmlのsava関数の中身、`document.form1.pram.value=name;`こでは何も起こりません、ここは2つ目のリンクのようにURLから?以降を取得して、&を区切り文字として文字列を分割し、=区切りでパラメータ名、と値に分割して、formの各要素へjavascriptで動的に書かないといけません。
35
+ > GETで行うので
36
36
 
37
37
 
38
38
 
39
- 次に、2.htmlから修正1.htmlへ戻ったURLの?以降の文字列を1.htmlの後ろにつけて1.htmlへ飛ばさないと1.htmlで値ません。
39
+ 1.htmlからフォームの送信ボタン2.htmlへ飛んだ、GETでパラメータがURL欄に付与されているところまでは良いですが、2.htmlのsava関数の中身、`document.form1.pram.value=name;`これは何も起こりません、ここは2つ目のリンクの`pramWrite`を参考にURLから?以降を取得して、&を区切り文字として文字列を分割し、=区切りでパラメータ名、とに分割して、formの各要素へjavascriptで動的に書かないいけません。
40
40
 
41
41
 
42
42
 
43
- 次にSessionStorageの場合
44
-
45
- 1.htmlのsave関数にあるように`savename = sessionStorage.getItem("savename");`等のSessionStorageから値を取得する処理を2.htmlにも書かないとる事がきません。
43
+ ` document.form1.pram.value`は意味はドキュメント内のnameがform1の中のnameがpram値という意味すので、参考リンクで言えば
46
44
 
47
45
 
48
46
 
47
+ ```
48
+
49
+ <form name="form1" action="#">
50
+
51
+ <fieldset>
52
+
53
+ <legend>受け取ったパラメータを表示</legend>
54
+
55
+ <textarea cols="40" rows="4" name="pram" style="border:0;overflow:visible" readonly="readonly"></textarea>
56
+
57
+ </fieldset>
58
+
59
+ ```
60
+
49
- どちらかの方法に統一した方よいとは思いますが、
61
+ でいうテキストエリアへ文字セットされます
62
+
63
+ 質問で記載されたコードの場合
50
64
 
51
65
 
52
66
 
67
+ ```
68
+
69
+ <form>
70
+
53
- 今回のようにテキストエリアなどがあるフォームデータをGETで送信は絶対に推奨できません。
71
+ <p class="text1">確認画面</p>
72
+
73
+ ```
74
+
75
+ のformおよび名前や性別の要素にもname属性をあたえるなりして、一つ一つjavascriptで取得した文字列を書いていかないといけません(参考サイトとはことなり、修正機能もあるので一つの文字列に変換するわけではないため、くっつけてしまってはいけないので。。)
76
+
77
+
78
+
79
+ 次に、2.htmlから修正で1.htmlへ戻った際もURLの?以降の文字列を1.htmlの後ろにつけて1.htmlへ飛ばさないと1.htmlで値がとれません。URLに?以降もつけて飛ばせば、上記とにたような処理で1.htmlのformにも値を入れる事ができます。
80
+
81
+
82
+
83
+ > SessionStorageの場合
84
+
85
+ 1.htmlのsave関数にあるように`savename = sessionStorage.getItem("savename");`等のSessionStorageから値を取得する処理を2.htmlにも書かないと値をとる事ができません。またsessionStorageの機能を使う場合、GETで行うのであれば、の箇所で説明した、URLの?以降等の処理はいりません。
86
+
87
+
88
+
89
+ どちらが簡単かというとSessionStorageの方かなとは思いますが、できれば両方避けて、バックエンドで動作する言語phpやjava、rubyなどを覚えそちらと併用されることを推奨します。
54
90
 
55
91
 
56
92
 
57
93
 
58
94
 
59
95
 
96
+
97
+

6

修正

2016/11/02 09:59

投稿

hiim
hiim

スコア1689

test CHANGED
@@ -40,7 +40,9 @@
40
40
 
41
41
 
42
42
 
43
+ 次にSessionStorageの場合
44
+
43
- SessionStorageの場合も1.htmlのsave関数にあるように`savename = sessionStorage.getItem("savename");`等のSessionStorageから値を取得する処理を2.htmlにも書かないと値をとる事ができません。
45
+ 1.htmlのsave関数にあるように`savename = sessionStorage.getItem("savename");`等のSessionStorageから値を取得する処理を2.htmlにも書かないと値をとる事ができません。
44
46
 
45
47
 
46
48
 

5

修正

2016/11/02 09:41

投稿

hiim
hiim

スコア1689

test CHANGED
@@ -28,7 +28,7 @@
28
28
 
29
29
  ###追記
30
30
 
31
- 今回記載されているソースは値の引き渡しをGETで行う方法とsessionで行う2つの方法がごっちゃになっているように見受けられます。まずGETで行うのであれば
31
+ 今回記載されているソースは値の引き渡しをGETで行う方法とSessionStorageで行う2つの方法がごっちゃになっているように見受けられます。まずGETで行うのであれば
32
32
 
33
33
 
34
34
 
@@ -40,7 +40,7 @@
40
40
 
41
41
 
42
42
 
43
- セッションの場合も1.htmlのsave関数にあるように`savename = sessionStorage.getItem("savename");`等のセッションから値を取得する処理を2.htmlにも書かないと値をとる事ができません。
43
+ SessionStorageの場合も1.htmlのsave関数にあるように`savename = sessionStorage.getItem("savename");`等のSessionStorageから値を取得する処理を2.htmlにも書かないと値をとる事ができません。
44
44
 
45
45
 
46
46
 

4

追記

2016/11/02 09:40

投稿

hiim
hiim

スコア1689

test CHANGED
@@ -23,3 +23,35 @@
23
23
  すいません2つ目のリンクURLからphpを使用しているものと早とちりしました。
24
24
 
25
25
  読んでから追記します。
26
+
27
+
28
+
29
+ ###追記
30
+
31
+ 今回記載されているソースは値の引き渡しをGETで行う方法とsessionで行う2つの方法がごっちゃになっているように見受けられます。まずGETで行うのであれば
32
+
33
+
34
+
35
+ 1.htmlからフォームの送信ボタンで2.htmlへ飛んだ際、GETでパラメータがURL欄に付与されているところまでは良いのですが、2.htmlのsava関数の中身、`document.form1.pram.value=name;`これでは何も起こりません、ここは2つ目のリンクのようにURLから?以降を取得して、&を区切り文字として文字列を分割し、=区切りでパラメータ名、と値に分割して、formの各要素へjavascriptで動的に書かないといけません。
36
+
37
+
38
+
39
+ 次に、2.htmlから修正で1.htmlへ戻った際もURLの?以降の文字列を1.htmlの後ろにつけて1.htmlへ飛ばさないと1.htmlで値がとれません。
40
+
41
+
42
+
43
+ セッションの場合も1.htmlのsave関数にあるように`savename = sessionStorage.getItem("savename");`等のセッションから値を取得する処理を2.htmlにも書かないと値をとる事ができません。
44
+
45
+
46
+
47
+ どちらかの方法に統一した方がよいとは思いますが、
48
+
49
+
50
+
51
+ 今回のようにテキストエリアなどがあるフォームデータをGETで送信は絶対に推奨できません。
52
+
53
+
54
+
55
+
56
+
57
+

3

追記

2016/11/02 09:37

投稿

hiim
hiim

スコア1689

test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- 参考にされたというサイトも一つ目がc#で受け取りをしている、2つ目はphpで処理しているサイトです。
5
+ 参考にされたというサイトも一つ目がc#で受け取りをしている
6
6
 
7
7
 
8
8
 
@@ -15,3 +15,11 @@
15
15
 
16
16
 
17
17
  c#でした修正しました。
18
+
19
+
20
+
21
+ ###追記
22
+
23
+ すいません2つ目のリンクURLからphpを使用しているものと早とちりしました。
24
+
25
+ 読んでから追記します。

2

修正

2016/11/02 09:09

投稿

hiim
hiim

スコア1689

test CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
 
8
8
 
9
- ですので、javascriptではなくphpやc#などで書くようしてください。
9
+ ですので、javascriptではなくphpやjava、ruby(c#でもだめわけではないですが、、、)などで書くようしてください。
10
10
 
11
11
 
12
12
 

1

修正

2016/11/02 09:07

投稿

hiim
hiim

スコア1689

test CHANGED
@@ -2,12 +2,16 @@
2
2
 
3
3
 
4
4
 
5
- 参考にされたというサイトも一つ目がjavaで受け取りをしている、2つ目はphpで処理しているサイトです。
5
+ 参考にされたというサイトも一つ目がc#で受け取りをしている、2つ目はphpで処理しているサイトです。
6
6
 
7
7
 
8
8
 
9
- ですので、javascriptではなくphpやjavaなどで書くようしてください。
9
+ ですので、javascriptではなくphpやc#などで書くようしてください。
10
10
 
11
11
 
12
12
 
13
13
  もう一点、テキストエリアなど文字数がかなり多くなる場合、GETでは文字数制限がありますので、POSTにしましょう。
14
+
15
+
16
+
17
+ c#でした修正しました。