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

質問編集履歴

5

質問の一部をコメントに変更

2017/10/16 04:43

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -49,7 +49,4 @@
49
49
  このようにした場合、onBlurのときと同じデータで試した際に1度のみポップアップが出ていたのですがこれだと値が変わってエラーメッセージが出た後に変更しないでフォーカスアウトした場合などにチェックできないので不満足になってしまいます。
50
50
  この処理の差って何があるかわかるかたいますでしょうか?
51
51
 
52
- このように組んでいるのですが、自動的に保存しに行く際に、フォーカスアウト時の処理も動作し?エラーメッセージのポップアップ(同じ項目の)が2度表示されてしまっています。これを1度しか表示されないようにしたいです。
52
+ このように組んでいるのですが、自動的に保存しに行く際に、フォーカスアウト時の処理も動作し?エラーメッセージのポップアップ(同じ項目の)が2度表示されてしまっています。これを1度しか表示されないようにしたいです。
53
-
54
- 現状としてjsはexitがないからreturn falseしても結局全部呼ばれてしまっている感じで考えればよいのですかね?
55
- onBlurかonAutoSaveか先に呼ばれたほうでチェックを行いエラーになったらexitするような処理にできればいいのかなと思うのですが、そんな都合のいい方法ありますかね?

4

質問追記

2017/10/16 04:43

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -49,4 +49,7 @@
49
49
  このようにした場合、onBlurのときと同じデータで試した際に1度のみポップアップが出ていたのですがこれだと値が変わってエラーメッセージが出た後に変更しないでフォーカスアウトした場合などにチェックできないので不満足になってしまいます。
50
50
  この処理の差って何があるかわかるかたいますでしょうか?
51
51
 
52
- このように組んでいるのですが、自動的に保存しに行く際に、フォーカスアウト時の処理も動作し?エラーメッセージのポップアップ(同じ項目の)が2度表示されてしまっています。これを1度しか表示されないようにしたいです。
52
+ このように組んでいるのですが、自動的に保存しに行く際に、フォーカスアウト時の処理も動作し?エラーメッセージのポップアップ(同じ項目の)が2度表示されてしまっています。これを1度しか表示されないようにしたいです。
53
+
54
+ 現状としてjsはexitがないからreturn falseしても結局全部呼ばれてしまっている感じで考えればよいのですかね?
55
+ onBlurかonAutoSaveか先に呼ばれたほうでチェックを行いエラーになったらexitするような処理にできればいいのかなと思うのですが、そんな都合のいい方法ありますかね?

3

不明点の追加

2017/10/16 04:10

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -40,5 +40,13 @@
40
40
  <textarea cols="" rows="" name="" style="" onBlur="チェック処理">入力項目</textarea>
41
41
  </TD>
42
42
  ```
43
+ このHTML部分を
44
+ ```html
45
+ <TD>
46
+ <textarea cols="" rows="" name="" style="" onChange="チェック処理">入力項目</textarea>
47
+ </TD>
48
+ ```
49
+ このようにした場合、onBlurのときと同じデータで試した際に1度のみポップアップが出ていたのですがこれだと値が変わってエラーメッセージが出た後に変更しないでフォーカスアウトした場合などにチェックできないので不満足になってしまいます。
50
+ この処理の差って何があるかわかるかたいますでしょうか?
43
51
 
44
52
  このように組んでいるのですが、自動的に保存しに行く際に、フォーカスアウト時の処理も動作し?エラーメッセージのポップアップ(同じ項目の)が2度表示されてしまっています。これを1度しか表示されないようにしたいです。

2

自分で組んでみたソースの追記

2017/10/16 03:45

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -1,7 +1,7 @@
1
1
  JavaScriptで、所定時間が経過した時に自動的に値を保存するためそのタイミングで入力チェックを。また、項目からフォーカスが外れた時にもチェックが行われるようにしたいです。
2
2
 
3
3
  フォーカスが外れたタイミングはonBlur属性を使えば良いと思うので、onBlurにチェック処理の関数を呼ぶように
4
- また、所定時間経過時の自動保存ではsetIntervalで一定時間後に同じくチェック処理を呼び出すようにしています。
4
+ また、所定時間経過時の自動保存ではsetTimeoutで一定時間後に同じくチェック処理を呼び出すようにしています。
5
5
 
6
6
  しかし、エラー時に
7
7
  ただ入力してフォーカスを外すだけなら当然所定時間前であればonBlurから呼ばれて1回しかエラーが出ないのですが
@@ -15,4 +15,30 @@
15
15
 
16
16
  サーバーサイドの言語はJavaを使用しています。
17
17
 
18
- よろしくお願いいたします。
18
+ よろしくお願いいたします。
19
+
20
+ ```JavaScript
21
+ function isTimecheck() {
22
+ setTimeout("onAutoSave()", 指定時間);
23
+ }
24
+
25
+ function onAutoSave() {
26
+ var result = true;
27
+ var a = 入力項目.value; //入力項目の入力値を取得する。
28
+ if (a != '') {
29
+ result = チェック処理(a);
30
+ if (result == false) {
31
+ alert(エラーメッセージ);
32
+ 入力項目.focus(); //フォーカスを入力項目に戻す。
33
+ return false;
34
+ }
35
+ }
36
+ }
37
+ ```
38
+ ```html
39
+ <TD>
40
+ <textarea cols="" rows="" name="" style="" onBlur="チェック処理">入力項目</textarea>
41
+ </TD>
42
+ ```
43
+
44
+ このように組んでいるのですが、自動的に保存しに行く際に、フォーカスアウト時の処理も動作し?エラーメッセージのポップアップ(同じ項目の)が2度表示されてしまっています。これを1度しか表示されないようにしたいです。

1

2017/10/16 00:30

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -13,4 +13,6 @@
13
13
 
14
14
  参考になるサイトなどあればそのようなものでも構いません。
15
15
 
16
+ サーバーサイドの言語はJavaを使用しています。
17
+
16
18
  よろしくお願いいたします。