簡體   English   中英

有沒有比這種方法更好的方法來實現“按輸入鍵,登錄”?

[英]Is there a better way than this approach, to implement an "on enter key press, login"?

目前,用戶必須手動點擊表單中的“登錄”按鈕,才能觸發“onSubmit”。

我試過在輸入時實現一種 hacky 方法,但我想知道是否有更好的方法來做到這一點?

  useEffect(() => {
    const emailField = document.getElementById('username');
    const passwordField = document.getElementById('password');

    emailField.addEventListener('keyup', e => {
      const { keyCode } = e;

      if (keyCode === 13) {
        e.preventDefault();
        document.getElementById('login').click();
      }
    });

    passwordField.addEventListener('keyup', e => {
      const { keyCode } = e;

      if (keyCode === 13) {
        e.preventDefault();
        document.getElementById('login').click();
      }
    });
  }, []);

看到您在 useEffect() 中作為參數傳遞的空白數組后,您似乎只想在頁面加載時提交一次。 所以,我會建議你去 -

function submit() {
//do submission here
}
function init(){
  document.getElementById('form').onsubmit = submit;
}
window.onload = init;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM