Search code examples
javascriptfunctionkeydownonkeydown

On Keydown get multiple fields?


How can i apply a function for multiple fields in 1 form. See my code below. I would like this function to be applied for both #wdform_1_element10 and #wdform_2_element10 forms.

$(function() {
  $('.form10').on('keydown', '#wdform_2_element10', function(e){-1!==$.inArray(e.keyCode,[46,8,9,27,13,110,188])||/65|67|86|88/.test(e.keyCode)&&(!0===e.ctrlKey||!0===e.metaKey)||35<=e.keyCode&&40>=e.keyCode||(e.shiftKey||48>e.keyCode||57<e.keyCode)&&(96>e.keyCode||105<e.keyCode)&&e.preventDefault()});
})

Solution

  • Simply use a comma to separate the two selectors. You can view my keyup example here: https://jsfiddle.net/bxzmxsvk/

    Yours should simply look like this:

    $(".form10").on("keydown", "#wdform_1_element10, #wdform_2_element10", function(e) {
        -1 !== $.inArray(e.keyCode, [46, 8, 9, 27, 13, 110, 188]) || /65|67|86|88/.test(e.keyCode) && (!0 === e.ctrlKey || !0 === e.metaKey) || 35 <= e.keyCode && 40 >= e.keyCode || (e.shiftKey || 48 > e.keyCode || 57 < e.keyCode) && (96 > e.keyCode || 105 < e.keyCode) && e.preventDefault()
    });
    

    Simply separate your selector with a comma and you should be good.