質問編集履歴

8

追記

2017/12/16 05:02

投稿

annderber
annderber

スコア98

test CHANGED
File without changes
test CHANGED
@@ -40,8 +40,62 @@
40
40
 
41
41
 
42
42
 
43
-
44
-
45
43
  質問が分かりづらくてすいません。
46
44
 
47
45
  よろしくお願いします。
46
+
47
+
48
+
49
+
50
+
51
+
52
+
53
+ 追記:
54
+
55
+ javascript側でのフォーム追加処理はこんな感じです。※jquery使ってます
56
+
57
+
58
+
59
+ ```javascript
60
+
61
+ $load_content.on("click",".js_add_form_child", function() {
62
+
63
+ //一番最後のフォームグループ取得
64
+
65
+ var $form_group = $(this).parents('.panel-body').find(".form_group").last();
66
+
67
+      //フォームグループの要素数からname属性インクリメント用の値取得
68
+
69
+ var new_form_cnt = $(this).parents('.panel-body').find(".form_group").length;
70
+
71
+
72
+
73
+ //既存のフォームのname属性から新しいフォームの用のname属性文字列を生成
74
+
75
+ var new_form1_name = $form_group.find(".js_form1").attr("name").replace(/(table_name[\d+][form1][)\d+(])/g, "$1"+new_form_cnt+"$2");
76
+
77
+ var new_form2_name = $form_group.find(".js_form2").attr("name").replace(/(table_name[\d+][form2][)\d+(])/g, "$1"+new_form_cnt+"$2");
78
+
79
+ var new_form3_name = $form_group.find(".js_form3").attr("name").replace(/(table_name[\d+][form3][)\d+(])/g, "$1"+new_form_cnt+"$2");
80
+
81
+
82
+
83
+ //既存のフォームをクローンしてフォーム群の末尾に追加
84
+
85
+ $form_group.clone(false)
86
+
87
+ .find(".js_form1").attr('name', new_form1_name).end()
88
+
89
+ .find(".js_form2").attr('name', new_form2_name).end()
90
+
91
+ .find(".js_form3").attr('name', new_form3_name).end()
92
+
93
+ .insertAfter($form_group);
94
+
95
+ });
96
+
97
+ ```
98
+
99
+
100
+
101
+ new_formのname属性生成処理は正規表現の使い方で1つにまとめられると思ってます

7

修正

2017/12/16 05:02

投稿

annderber
annderber

スコア98

test CHANGED
File without changes
test CHANGED
@@ -14,7 +14,21 @@
14
14
 
15
15
 
16
16
 
17
- このように一対多の関係にあるフォームが複数ある場合の画面をどう作成したらいいでしょうか。なるべく1つの画面に収まるようにしたいです。モーダル等を使うのもありでしょうか
17
+ このように一対多の関係にあるフォームが複数ある場合の画面をどう作成したらいいでしょうか。なるべく1つの画面に収まるようにしたいです。
18
+
19
+
20
+
21
+ ここでの1つの画面とは画面遷移せず、またメインの入力画面にすぐ戻れるようになっている状態という意味でとらえていただければと思います。なので、フォームを分割してモーダルなどで表示したりタブで分けたりするのもいいかなと思います。
22
+
23
+
24
+
25
+ 改善したい点は2つで。
26
+
27
+  ・長いname属性
28
+
29
+  ・画面の表示領域にフォームが詰まりすぎてデザインがよろしくない
30
+
31
+ になります。
18
32
 
19
33
 
20
34
 
@@ -24,6 +38,10 @@
24
38
 
25
39
 
26
40
 
41
+
42
+
43
+
44
+
27
45
  質問が分かりづらくてすいません。
28
46
 
29
47
  よろしくお願いします。

6

タグ追加

2017/12/15 02:28

投稿

annderber
annderber

スコア98

test CHANGED
File without changes
test CHANGED
File without changes

5

情報追加

2017/12/15 00:45

投稿

annderber
annderber

スコア98

test CHANGED
File without changes
test CHANGED
@@ -18,6 +18,12 @@
18
18
 
19
19
 
20
20
 
21
+ 画面レイアウトイメージは以下のような感じです。
22
+
23
+ ![イメージ説明](c02c9398e9daed7e1382be18c2156673.jpeg)
24
+
25
+
26
+
21
27
  質問が分かりづらくてすいません。
22
28
 
23
29
  よろしくお願いします。

4

2017/12/15 00:37

投稿

annderber
annderber

スコア98

test CHANGED
File without changes
test CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
  ここで問題なのがname属性のつけ方です。動的に増えるフォーム内にチェックボタンラジオボタンが複数あるため、フォームを追加する際にJavaScriptでname属性の[]内の値をインクリメントしています。
12
12
 
13
- これが非常に厄介で例えばname="hoge[0][huga][0][]のようなフォームが沢山あります。
13
+ これが非常に厄介で例えばname="hoge[0][huga][1][]のようなフォームが沢山あります。
14
14
 
15
15
 
16
16
 

3

2017/12/14 23:56

投稿

annderber
annderber

スコア98

test CHANGED
File without changes
test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- 現在作成している入力フォームで、かなりネストの深いものがあります。具体的に言うと、一対多の関係にあるフォームが2つあり、これがツリー構造のように下に伸びています。
5
+ 現在作成している入力フォームで、かなりネストの深いものがあります。具体的に言うと、一対多の関係にあるフォームが2つあり、これがツリー構造のように下に伸びています。
6
6
 
7
7
 
8
8
 

2

2017/12/14 23:55

投稿

annderber
annderber

スコア98

test CHANGED
File without changes
test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- 現在作成している入力フォームで、かなりネストの深いものがあります。具体的に言うと、一対多の関係にあるフォームが2つあり、ツリー構造になっているものがあります。
5
+ 現在作成している入力フォームで、かなりネストの深いものがあります。具体的に言うと、一対多の関係にあるフォームが2つあり、これがツリー構造のよう下に伸びています。
6
6
 
7
7
 
8
8
 

1

2017/12/14 17:01

投稿

annderber
annderber

スコア98

test CHANGED
File without changes
test CHANGED
File without changes