Map from simplex to itself that preserves sub-simplices

I believe this may be a standard algebraic topology problem, so I apologize in advance if this belongs in stackexchange (it's not a homework problem, however, and came about in a research context). I've got a continuous map $f$ from the $n$-simplex to itself, such that the image of every strict sub-simplex is itself. So, each vertex gets mapped to itself, as does each edge, and so on and so forth. Does it follow that $f$ must be surjective?

Thank you!

-
Nice question, and nice solution by Neil Strickland. I don't recall seeing this in textbooks, but it clearly belongs there as a satisfying exercise. As the solution shows, one only needs to assume that each face of dimension $n-1$ is taken to itself. (But this implies that lower-dimensional faces are also preserved.) One can imagine generalizations to other polyhedra besides simplices. – Allen Hatcher Jun 9 '11 at 15:11

Given such a map $f:\Delta_n\to\Delta_n$, put $f_t(x)=(1-t)x+t f(x)$. This gives a homotopy between $f$ and the identity, and each map $f_t$ also sends every subsimplex to itself. In particular, each $f_t$ preserves $\partial(\Delta_n)$ and so induces a self-map $\overline{f}_t$ of the space $\Delta_n/\partial(\Delta_n)\simeq S^n$. It follows that $\overline{f}$ is homotopic to the identity, and so is not homotopic to a constant map. This means that $\overline{f}$ must be surjective (because any non-surjective map factors through a space $S^n\setminus\{a\}$, which is homeomorphic to $\mathbb{R}^n$ and so contractible). As $\Delta_n\setminus\partial(\Delta_n)$ is dense in $\Delta_n$, it follows that $f$ itself is also surjective.
Notice that the homotopy between $f$ and the identity implies that the map of $f: (\Delta_n,\partial\Delta_n)\to(\Delta_n,\partial\Delta_n)$ is of degree $1$, which then implies surjectivity. It is possible to show that $f$ is of degree $1$, whitout using the homotopy.
We proceed by induction, with $n=0$ being trivial. For a $(n-1)$-dimensional facet $\sigma$ in $\partial\Delta_n$, the map $f_{|\sigma}$ is of degree $1$ by induction. Hence the map $f_{|\partial\Delta_n}$ is also of degree $1$, i.e. $$(f_{|\partial\Delta_n})_*: H_{n-1}(\partial\Delta_n)\to H_{n-1}(\partial\Delta_n)$$ is the identity. A look at the long exact homology sequence $$\require{AMScd} \begin{CD} H_n(\Delta_n)@>{}>> H_n(\Delta_n,\partial\Delta_n) @>{\cong}>> H_{n-1}(\partial\Delta_n)@>{}>>H_{n-1}(\Delta_n)\\ @| @VV{f_*}V @V{\cong}V{(f_{|\partial\Delta_n})_*}V@|\\ 0 @. H_n(\Delta_n,\partial\Delta_n)@>{\cong}>>H_{n-1}(\partial\Delta_n)@.0 \end{CD}$$ gives that $f$ is also of degree $1$ as claimed.