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 :
{formIncomes === false && ( <div className="text-left flex justify-items-center relative"> <form onSubmit={handleAddIncome} className="m-auto"> <label htmlFor="newIncomeName"></label> <input className="w-38 bg-gray-50 shadow-inner italic p-1 m-1 text-gray-500 text-xs" id="newIncomeName" name="newIncomeName" type="text" value={incomeCall} onChange={(e) => setIncomeCall(e.target.value)} onClick={handleClearIncomeCall} /> <label htmlFor="newIncomeAmount"></label> <input className="w-38 shadow-inner italic p-1 m-1 text-gray-500 text-xs" id="newIncomeAmount" name="newIncomeAmount" type="text" value={incomeNum} onChange={(e) => setIncomeNum(e.target.value)} onClick={handleClearIncomeNum} /> </form> <i onClick={handleAddIncome} className="absolute right-0 fas fa-check text-gray-400 hover:text-green-500 text-xs p-1 m-1"></i> </div> )}
Here is my function :
const handleKeyPress = (e) => { if (e.key === 'Enter') { console.log('Enter pressed') } }
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
const handleKeyPress = (e) => { if (e.keyCode === 13) { console.log('Enter pressed') } }
https://developer.mozilla.org/en-US/docs/Web/API/Document/keypress_event