亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 event.preventDefault 之后提交表單

在 event.preventDefault 之后提交表單

弒天下 2023-10-20 16:49:19
我制作了一個注冊頁面,并希望它在提交之前進行一些驗證。所以,我放入event.preventDefault了我的handleSubmit 函數。event.preventDefault是為了防止默認功能,所以如果表單為空,則不會提交。但是,在我填滿所有空白后,它就可以提交。我的問題還是event.preventDefault在handleSubmit函數填空后,為什么可以提交表單?或者,如果用戶填寫所有空白,該功能event.preventDefault將被禁用?謝謝!export default function RegisterPage() {  const [values, setValues] = useState({    userName: "",    nickName: "",    password: "",  });  const [errors, setErrors] = useState({});  const [apiResError, setApiResError] = useState("");  const handleSubmit = (e) => {    setApiResError("");    e.preventDefault();    registerAccount(values.userName, values.nickName, values.password).then(      (res) => {        console.log(res);      }    );  };  const handleChange = (e) => {    const { name, value } = e.target;    setValues({      ...values,      [name]: value,    });  };  const handleFocus = (e) => {    const { name } = e.target;    setErrors({ ...errors, [name]: "" });  };  return (    <RegisterPageContainer>      <RegisterPageTitle>Register</RegisterPageTitle>      {apiResError && <div>{apiResError}</div>}      <RegisterForm onSubmit={handleSubmit}>        <InputWrapper>          <UserNameInput            name="userName"            type="text"            placeholder="Username"            onChange={handleChange}            value={values.userName}            onFocus={handleFocus}          />        </InputWrapper>        {errors.userName && <div>{errors.userName}</div>}        <InputWrapper>          <NickNameInput            name="nickName"            type="text"            placeholder="Nickname"            onChange={handleChange}            value={values.nickName}            onFocus={handleFocus}          />  );}
查看完整描述

1 回答

?
回首憶惘然

TA貢獻1847條經驗 獲得超11個贊

e.preventDefault()是為了阻止表單進行 http 調用。如果您不在表單提交中使用它,則每次提交表單時頁面都會刷新。

當值為空或其他任何情況時,它實際上與阻止提交無關。您必須自己編寫驗證邏輯。

registerAccount每次點擊提交時,您的函數都會觸發。e.preventDefault()不會阻止它。


查看完整回答
反對 回復 2023-10-20
  • 1 回答
  • 0 關注
  • 178 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號