One easy way to separate movements so that players don't interrupt them is to use some variables.
eg: in air (0 or 1)
on ground (0 or 1)
currentanimation (0, 1, 2, 3)
etc
Then add additional conditions to each type of button press so that they only occur when your player is in the correct state.
eg:
Lets use an air attack as an example, you probably have a different animation for air attacks.
pseudo code:
on keyboard press "jump button" set "in air" variable to "1"
on keyboard press attack (add a second condition of "In air variable is equal to 1"
play air attack animation
else play ground attack animation
that way it will only play the air attack animation if the player is in the air.
hopefully that made sense lol.