当前,用户必须手动单击表单中的“登录”按钮,才能触发“ onSubmit”。
我已经尝试实现一种侵入性的方法,但我想知道是否有更好的方法可以做到这一点?
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;