teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

7

_

2016/04/08 20:37

投稿

k499778
k499778

スコア599

title CHANGED
File without changes
body CHANGED
@@ -5,8 +5,9 @@
5
5
  仕様としては、**画面の要素をコピーしてそれを『順番を変えて』別画面に表示する。**というものです。
6
6
 
7
7
  ![イメージ説明](000cf2b123a597b9acd433ae80b623a2.png)
8
-
8
+
9
9
  「別画面へ」押下時
10
+
10
11
  ![イメージ説明](3e36404c76812ecaa913f168a829ee98.png)
11
12
 
12
13
  以下のコードだとその仕様を実装できるのですが、なぜか現場ではそれが実現できません。

6

/

2016/04/08 20:37

投稿

k499778
k499778

スコア599

title CHANGED
File without changes
body CHANGED
@@ -116,6 +116,6 @@
116
116
 
117
117
  **もし何かわかる方や推測できる方がいらっしゃいましたらアドバイスいただけると幸いです。**
118
118
 
119
- また**他のやり方で実現する方法を知っている方がいらっしゃればいらっしゃれば教えていただきたいです。**
119
+ また**他のやり方で実現する方法を知っている方がいらっしゃれば教えていただきたいです。**
120
120
 
121
121
  長くなりましたがよろしくお願い致します。

5

2016/04/08 20:36

投稿

k499778
k499778

スコア599

title CHANGED
File without changes
body CHANGED
@@ -112,7 +112,7 @@
112
112
  このコードと現場のコードで変わっているところと言えば、
113
113
  現場のコードは、コピー元の要素がやたら多く、HTML文字列がやたら長いということです。
114
114
 
115
- ただPOST送信なので、ある程度のデータ量にも耐えられると思いますし、文字列の多さであってもテキストだけになってしまう理由がわかりません。
115
+ ただPOST送信なので、ある程度のデータ量にも耐えられると思いますし、文字列の多さが原因であったとしてもテキストだけになってしまう理由がわかりません。
116
116
 
117
117
  **もし何かわかる方や推測できる方がいらっしゃいましたらアドバイスいただけると幸いです。**
118
118
 

4

2016/04/08 20:35

投稿

k499778
k499778

スコア599

title CHANGED
File without changes
body CHANGED
@@ -110,7 +110,7 @@
110
110
  **PHPのdataメソッドで受け取った段階、dataメソッドの中身をvar_dump()で確かめるとテキスト部分だけになっている**のです。
111
111
 
112
112
  このコードと現場のコードで変わっているところと言えば、
113
- コピー元の要素がやたら多く、HTML文字列がやたら長いということです。
113
+ 現場のードは、コピー元の要素がやたら多く、HTML文字列がやたら長いということです。
114
114
 
115
115
  ただPOST送信なので、ある程度のデータ量にも耐えられると思いますし、文字列の多さであってもテキストだけになってしまう理由がわかりません。
116
116
 

3

/

2016/04/08 20:34

投稿

k499778
k499778

スコア599

title CHANGED
File without changes
body CHANGED
@@ -69,6 +69,7 @@
69
69
 
70
70
  class SampleController extends AppController
71
71
  {
72
+
72
73
  public function hoge()
73
74
  {
74
75
 
@@ -76,10 +77,17 @@
76
77
 
77
78
  public function fuga()
78
79
  {
80
+
81
+ // 現場ではこのように確認したが、HTMLは出力されずテキスト部分のみ出力された。
82
+ // $this->autoRender = false;
83
+ // var_dump($this->request->data);
84
+
79
85
  $this->set('htmlData', $this->request->data);
86
+
80
87
  }
81
88
  }
82
89
 
90
+
83
91
  ```
84
92
 
85
93
  fuga.ctp
@@ -99,7 +107,7 @@
99
107
 
100
108
  実際どこでおかしくなっているか検証しました。
101
109
  javascriptのouterHTMLの段階、val()でinputタグに詰めこんでいる段階では、ちゃんとHTML文字列になっていて、
102
- **PHPのdataメソッドで受け取った段階、dataメソッドの中身をprin_r()で確かめるとテキスト部分だけになっている**のです。
110
+ **PHPのdataメソッドで受け取った段階、dataメソッドの中身をvar_dump()で確かめるとテキスト部分だけになっている**のです。
103
111
 
104
112
  このコードと現場のコードで変わっているところと言えば、
105
113
  コピー元の要素がやたら多く、HTML文字列がやたら長いということです。

2

_

2016/04/08 20:25

投稿

k499778
k499778

スコア599

title CHANGED
File without changes
body CHANGED
@@ -1,3 +1,6 @@
1
+ 以下の投稿の続きです。
2
+ [【jQuery】.html()を使って自要素も含めたHTMLコンテンツの取得方法が知りたい](https://teratail.com/questions/31780)
3
+
1
4
  現在HTML,jQuery(JavaScript),PHP,cakePHP3を使ってアプリケーションを作っています。
2
5
  仕様としては、**画面の要素をコピーしてそれを『順番を変えて』別画面に表示する。**というものです。
3
6
 

1

2016/04/08 20:05

投稿

k499778
k499778

スコア599

title CHANGED
File without changes
body CHANGED
@@ -7,7 +7,12 @@
7
7
  ![イメージ説明](3e36404c76812ecaa913f168a829ee98.png)
8
8
 
9
9
  以下のコードだとその仕様を実装できるのですが、なぜか現場ではそれが実現できません。
10
+ ざっくり処理の流れとしては、
11
+ **1.outerHTMLを使ってHTML文字列を取得し、
12
+ 2.それをパラメータとしてPOST送信でコントローラに渡し、
13
+ 3.最後にsetメソッドで別画面に順番を変えて表示しています。**
10
14
 
15
+
11
16
  そこで質問としては、結論から言うと
12
17
  **・なぜ現場ではできないのか知りたい。そのできない原因の可能性を推測でいいので教えていただきたい。**
13
18
  あるいは
@@ -85,7 +90,6 @@
85
90
 
86
91
  ```
87
92
 
88
- このようにouterHTMLを使ってHTML文字列を取得し、それを別画面に順番を変えて表示しています。
89
93
 
90
94
  現場でも同じやり方をしているのですが、なぜかできません。
91
95
  どのようにできないかというと、別画面にHTML文字列を渡せずに中のテキストノード(ここで言う1番目、2番目、3番目)を渡しており、それが表示されているようなのです。