javascriptformsdom-eventsshiftonsubmit

Not working: <form onsubmit="alert(event.shiftKey)"> on Javascript


Problem: I can not check whether the shift Key was being held on a form submit. This returns an undefined instead of true or false.
Why does this happen?

Example of the problem: http://jsfiddle.net/DRSDavidSoft/fFYKs/

What I want: I want to know whether the shift key was being held when a form is submitted.


Solution

  • This is because submit event know nothing about keys. I'd advice to replace your submit input with button input. And there check will work fine. Here is the sample: http://jsfiddle.net/fFYKs/2/

    <input type="button" value="Click here to submit" onclick='isPressed(event);'/>
    

    And JS:

    function isPressed(e){
        if (e.shiftKey) {
            window.myForm.submit();
        }
    }