繁体   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