Cette expression “sur le champ” est très ancienne et était utilisée sur les champs de bataille. Elle signifiait “ici-même, là où on se trouve”. Au 15e siècle, elle passe de la notion de lieu à celle de temps sans que l’on sache pourquoi.
L’expression est maintenant lexicalisée en adverbe avec des traits d’union “sur-le-champ” et signifie “immédiatement, aussitôt, dès maintenant, sans délai”.