[英]How to stop Enter key press form submitting
我想按回車鍵不提交表格,只需點擊提交按鈕,表格將在ReactJS提交
const handleSubmit = (data) ={
}
<form onSubmit={handleSubmit}>
<label>
Name:
<input type="text" name="name" />
</label>
<input type="submit" value="Submit" />
</form>
您可以做的是將onKeyPress
處理程序應用於您的form
,如果按下的鍵的值為Enter
,則阻止默認行為(提交)。
<form
onSubmit={handleSubmit}
onKeyPress={(e) => {
e.key === "Enter" && e.preventDefault();
}}
>
<label>
Name:
<input type="text" name="name" />
</label>
<button type="submit">Submit</button>
</form>
請注意,您可能還希望在提交表單時阻止默認行為,否則您可能會刷新頁面。
const handleSubmit = (event) => {
event.preventDefault();
}
要獲取您輸入的name
的值,您可以執行以下操作:
const handleSubmit = (event) => {
event.preventDefault();
console.log(event.target.name.value);
}
同樣的原則適用於您在form
中可能擁有的任何其他字段。
您可以像這樣更改 handleSubmit function:
const handleSubmit = (e) => {
e.preventDefault()
}
e.preventDefault()
這會阻止表單的默認行為以及與之相關的所有事件。
您可以在不使用表單標簽的情況下執行此操作,並將輸入值存儲在 state
const handleSubmit = () ={
}
<div>
<div>
Name:
<input type="text" name="name" />
</div>
<input onClick={handleSubmit} value="Submit" />
</div>
試試這個。
const handleSubmit = (data) ={
}
<form onSubmit={() => handleSubmit()}>
<label>
Name:
<input type="text" name="name" />
</label>
<input type="submit" value="Submit" />
</form>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.