質問編集履歴
3
アイコンのつけ忘れ
title
CHANGED
File without changes
|
body
CHANGED
File without changes
|
2
リンク修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -5,10 +5,12 @@
|
|
5
5
|
> 空の配列定義して、初期値の値としてfor文で回して配列にいれる。
|
6
6
|
> その配列をinputで入力のあったタイミングでハイライトとfor文をイベントとして発火させ、for文内のif文で比較しながら、書き換えのない列をdisabledで無効化。
|
7
7
|
|
8
|
-
という書き方をしていたのですが(https://jsfiddle.net/5kfmj3a8/)、イベント発火した親要素とformを比較しても同じことができるはずだから、その書き方にしてほしい。と言われて、うまくいかずに困っています。
|
8
|
+
という書き方をしていたのですが([前のコードはこちら](https://jsfiddle.net/5kfmj3a8/))、イベント発火した親要素とformを比較しても同じことができるはずだから、その書き方にしてほしい。と言われて、うまくいかずに困っています。
|
9
9
|
|
10
10
|
最初のコードは、formの群をdivで包んでいたのですが、class="container"と同じところにつけるように指示がきたので、HTML構造が少し書き換わりました。
|
11
|
-
https://jsfiddle.net/514y16y7/
|
12
11
|
|
12
|
+
[本題の修正中のコードがこちら](https://jsfiddle.net/514y16y7/)
|
13
|
+
|
14
|
+
|
13
15
|
お力をお貸しいただけると、大変嬉しく思います。
|
14
16
|
よろしくお願いします。
|
1
コードの修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,38 +1,14 @@
|
|
1
1
|
inputに入力があったら、該当箇所をハイライトし、他の入力箇所の無効化と、入力のあった箇所と隣接したsubmit以外を無効化。
|
2
2
|
編集してる1つだけしか更新できません、という意図の実装がしたいです。
|
3
3
|
|
4
|
+
|
4
5
|
> 空の配列定義して、初期値の値としてfor文で回して配列にいれる。
|
5
6
|
> その配列をinputで入力のあったタイミングでハイライトとfor文をイベントとして発火させ、for文内のif文で比較しながら、書き換えのない列をdisabledで無効化。
|
6
7
|
|
7
|
-
という書き方をしていたのですが、イベント発火した親要素とformを比較しても同じことができるはずだから、その書き方にしてほしい。と言われて、うまくいかずに困っています。
|
8
|
+
という書き方をしていたのですが(https://jsfiddle.net/5kfmj3a8/)、イベント発火した親要素とformを比較しても同じことができるはずだから、その書き方にしてほしい。と言われて、うまくいかずに困っています。
|
8
9
|
|
10
|
+
最初のコードは、formの群をdivで包んでいたのですが、class="container"と同じところにつけるように指示がきたので、HTML構造が少し書き換わりました。
|
11
|
+
https://jsfiddle.net/514y16y7/
|
9
12
|
|
10
13
|
お力をお貸しいただけると、大変嬉しく思います。
|
11
|
-
よろしくお願いします。
|
14
|
+
よろしくお願いします。
|
12
|
-
|
13
|
-
```html
|
14
|
-
<div id="change_form">
|
15
|
-
<form action=""><input name="input_text" type="text" value="hoge"><input type="submit" value="更新"/></form>
|
16
|
-
<form action=""><input name="input_text" type="text" value="hogehoge"><input type="submit" value="更新"/></form>
|
17
|
-
<form action=""><input name="input_text" type="text" value="hogehogehoge"><input type="submit" value="更新"/></form>
|
18
|
-
<form action=""><input name="input_text" type="text" value="hogehogehogehoge"><input type="submit" value="更新"/></form>
|
19
|
-
<form action=""><textarea name="" cols="80" rows="5"></textarea><input type="submit" value="更新"/></form>
|
20
|
-
</div>
|
21
|
-
<script>
|
22
|
-
document.addEventListener("input", function(e){markAsEdited(e)});
|
23
|
-
function markAsEdited(e) {
|
24
|
-
|
25
|
-
var t = e.target;
|
26
|
-
var parent = t.parentNode;
|
27
|
-
t.style.backgroundColor = "yellow";
|
28
|
-
|
29
|
-
var elements = document.querySelectorAll("#change_form form");
|
30
|
-
for (var i = 0; i < elements.length; i++) {
|
31
|
-
if(elements !== parent) {
|
32
|
-
for (var i = 0; i < parent.length; i++) {
|
33
|
-
parent.querySelectorAll("input").disabled = true;
|
34
|
-
}
|
35
|
-
}
|
36
|
-
}
|
37
|
-
}</script>
|
38
|
-
```
|