する質問をすることでしか得られない、回答やアドバイスがある。【質問したいこと】フォーカスが外れた際と指定時間経過した後に入力項目におけるチェック処理を実装しましたが、JavaScriptにexitなる関数、処理がないためどちらも呼ばれてしまいalertで表示しているエラーメッセージが2度表示されてしまう。【実現したいこと】alertで出すのは1度にしたい。フォーカスが外れたときには毎回チェックを実施したい。指定時間経過時にもチェックを行いたい。//入力項目の入力値を取得する。//最大文字数:例で20とする。//フォーカスを入力項目に戻す。//バイト数を格納する。rightTrim(str.value);//不要な右側スペースは削除する。半角なら1バイトなので1をlenに加算。全角なら2バイトなので2をlenに加算。//フォーカスを入力項目に戻す。20);">入力項目</textarea></TD>このようにした場合、onBlurのときと同じデータで試した際に1度のみポップアップが出ていたのですがこれだと値が変わってエラーメッセージが出た後に変更しないでフォーカスアウトした場合などにチェックできないので不満足になってしまいます。チェック処理は別のjsファイルに記載しています。対応として、以下は実現可能なのかということで今悩んでいます。1チェックはonBulrのみとし、エラーがあった場合はonAutoSaveの最初で処理を抜けるようにする。2指定時間経過時には、onBlurの処理が呼ばれないようにする。3onBlurまたはonAutoSaveで先に呼ばれたほうでチェックエラーとなった場合、その時点で処理を抜ける(exitなる処理が実現できればこれは可能かと思うのですが・・・)そもそも、この実装の場合onBlurとonAutoSaveは指定時間経過後にはどちらが先に実行されるのでしょうか?知恵をお持ちの方がいましたら、ご教示お願いいたします。~質問追加~【試してみたこと】onBlur部分を以下のよう(見やすくするためJSに記載しています。)にしてみたところ、当然ロストフォーカス時にはチェックがかからず、指定時間経過時もチェックはかからない。onAutoSaveが先に呼ばれていたようなので、そこでチェックエラーとなった場合はonBlurの処理を行わないようにグローバル変数のcheckFlgをtrueにするようにしてみました。alertが2回出てしまいます。//自動保存でチェックエラーとなっていた場合はcheckFlgがtrueとなっているためこのifはスルーされるはず。}}attachmentクリップ0気になる質問をクリップするクリップした質問は、後からいつでもマイページで確認できます。クリップした質問に回答があった際、通知やメールを受け取ることができます。自分も答えを知りたい質問者以外のユーザにも役立つ評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。質問の評価を上げたことを取り消します低評価-評価を下げられる数の上限に達しました評価を下げることができません1日5回まで評価を下げられます1日に1ユーザに対して2回まで評価を下げられます質問の評価を下げるteratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。コメントをしてください。送信する質問の評価を下げる機能の利用条件この機能を利用するためには、以下の事項を行う必要があります。どこから呼ばれるのでしょうか。どこから呼ばれるのでしょうか。09:28質問に追記を行いましたが、isTimeCheckはonloadで呼び出しています。質問に追記を行いましたが、isTimeCheckはonloadで呼び出しています。件sort評価が高い順sort新着順sort古い順linkcheck解決した方法0以下のように実装し、解決できました。フラグをONにする場所が悪くその前にonBlurが動作していてフラグでの制御ができていなかったようです。//入力項目の入力値を取得する。//最大文字数:例で20とする。//フォーカスを入力項目に戻す。//バイト数を格納する。rightTrim(str.value);//不要な右側スペースは削除する。半角なら1バイトなので1をlenに加算。全角なら2バイトなので2をlenに加算。//フォーカスを入力項目に戻す。評価が高い回答ほどページの上位に表示されます。remove低評価0回答の評価を下げる下記のような回答は推奨されていません。評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。commentコメント投稿link0あまりご質問を理解できていないような気がするのですが、1チェックはonBulrのみとし、エラーがあった場合はonAutoSaveの最初で処理を抜けるようにする。2指定時間経過時には、onBlurの処理が呼ばれないようにする。3onBlurまたはonAutoSaveで先に呼ばれたほうでチェックエラーとなった場合、その時点で処理を抜ける(exitなる処理が実現できればこれは可能かと思うのですが・・・)1ではonAutoSaveでチェックしない、3ではonAutoSaveでチェックする、と矛盾していないでしょうか。2の意味がよく分からないです。グローバル変数validを用意し、onInputで入力するたびにチェックしてvalidを更新し、onBlurやisTimeCheckからvalidを参照するといいと思います。onBlur時にalertで知らせるようにすると、ブラウザの別のタブに移ったときにもonBlurが発生するので、色を変えるかツールチップで知らせる方がいいと思います。評価が高い回答ほどページの上位に表示されます。remove低評価0回答の評価を下げる下記のような回答は推奨されていません。評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。頂いたご意見への回答は行っておりません。