Move the layout
variable outside the event function - you are resetting it to 'undefined'
every event.
var layout = 'undefined';
$(this).on('keypress keyup', function (e) {
if (e.type == "keypress") {
// set layout
layout = 'en';
} else {
// use layout
alert(layout);
}
});