当前,用户必须手动单击表单中的“登录”按钮,才能触发“ 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();
}
});
}, []);
答案 0 :(得分:0)
看到空白数组后,您在useEffect()中将其作为参数传递,似乎您只想在页面加载时提交一次。所以,我建议你去-
function submit() {
//do submission here
}
function init(){
document.getElementById('form').onsubmit = submit;
}
window.onload = init;