フォーム内、入力中はサーバーサイドへは飛ばせないようにしたい

前提

お世話になっております。
エンジニア1年目です。

実現したいこと

検索機能を作成中です。
onchangeイベントでフォームに入力された値を基にAPIを呼んで、戻り値を引っ張ってきます。
フォームに入力される時に入力中はサーバーサイドへ飛ばず、n秒間入力が無い際にサーバーサイドへメソッドを呼びたいんですが、どうもうまくいきません。
clearTimeoutとsetTimeoutを利用しています。

発生している問題・エラーメッセージ

以下のソースコードでフォーム画面をたたいてみましたが、文字を入力してもサーバーサイドへ行かず困っています。
setTimeoutの引数の書き方等に問題があるのでしょうか?
どこに原因がありそうかアドバイスいただけると幸いです。

該当のソースコード

javascript

var input = event.getSource(); var personEmail = input.get('v.value'); var validity = input.get("v.validity"); let timer = setTimeout(function(){ if(validity.valid){ if(personEmail != ""){ // サーバーサイドへ }else{       // エラーメッセージ表示 } }else{ // エラーメッセージ表示 } },4000) clearTimeout(timer); timer();

コメントを投稿

0 コメント