I’m trying to send my fieldset
when I press Enter, but my function does not return my console.log
Here is a fragment of my component :
JavaScript
x
25
25
1
{formIncomes === false && (
2
<div className="text-left flex justify-items-center relative">
3
<form onSubmit={handleAddIncome} className="m-auto">
4
<label htmlFor="newIncomeName"></label>
5
<input className="w-38 bg-gray-50 shadow-inner italic p-1 m-1 text-gray-500 text-xs" id="newIncomeName"
6
name="newIncomeName"
7
type="text"
8
value={incomeCall}
9
onChange={(e) => setIncomeCall(e.target.value)}
10
onClick={handleClearIncomeCall}
11
/>
12
13
<label htmlFor="newIncomeAmount"></label>
14
<input className="w-38 shadow-inner italic p-1 m-1 text-gray-500 text-xs" id="newIncomeAmount"
15
name="newIncomeAmount"
16
type="text"
17
value={incomeNum}
18
onChange={(e) => setIncomeNum(e.target.value)}
19
onClick={handleClearIncomeNum}
20
/>
21
</form>
22
<i onClick={handleAddIncome} className="absolute right-0 fas fa-check text-gray-400 hover:text-green-500 text-xs p-1 m-1"></i>
23
</div>
24
)}
25
Here is my function :
JavaScript
1
6
1
const handleKeyPress = (e) => {
2
if (e.key === 'Enter') {
3
console.log('Enter pressed')
4
}
5
}
6
Why is my console.log
not responding when I press enter on my page ?
Advertisement
Answer
You’re almost there, just replace onKeyPress
with onKeyDown
and it should work.
For enter, the keyCode will return 13. So you could
JavaScript
1
6
1
const handleKeyPress = (e) => {
2
if (e.keyCode === 13) {
3
console.log('Enter pressed')
4
}
5
}
6
https://developer.mozilla.org/en-US/docs/Web/API/Document/keypress_event