Prevent Enter Submit (cross-browser)

Stops the Enter key submitting a form when enter is pressed on any input field other than TEXTAREA

by greatbigmassive

HTML

<form id='myForm' method='post' onkeypress='stopEnterSubmitting(window.event)'>
    <p>
        <label for='myInput1'>Forename</label>
        <br />
        <input type='text' id='myInput1' name='myInput1' />
    </p>
    <p>
        <label for='myInput2'>Surname</label>
        <br />
        <input type='text' id='myInput2' name='myInput1' />
    </p>
    <p>
        <label for='myInput3'>Message</label>
        <br />
        <textarea id='myInput3' name='myInput3' cols='40' rows='5' /></textarea>
    </p>
    <p>
        <input type='submit' id='submitMe' value='Continue' />
    </p>
</form>

JavaScript

function stopEnterSubmitting(e) {
    if (e.keyCode == 13) {
        var src = e.srcElement || e.target;
        if (src.tagName.toLowerCase() != "textarea") {
            if (e.preventDefault) {
                e.preventDefault();
            } else {
                e.returnValue = false;
            }
        }
    }
}