According to Wikipedia one formulation of AC is
The Cartesian product of any family of nonempty sets is nonempty.
If I consider an cartesian product $\prod_{i} X_i$ of nonempty sets $X_i$, then there exists some $x_i \in X_i$ for each $i$ (simply by non-emptiness), and so $x := (x_i)$ is an element of the product $\prod_i X_i$ by definition. This seems quite trivial to me... imposed by the rules of logic, so why state it as an axiom? Indeed to me it appears as there isn't needed any axiom at all, by setting $x := (x_i)$ I have actually constructed the element?
Your proof is not a proof, but rather an intuition why the AC should be true.
Recall the precise(!) definition of the product of a family of sets: $\prod_{i \in I} X_i$ consists of functions $f : I \to \bigcup_{i \in I} X_i$ such that $f(i) \in X_i$ for all $i \in I$. Also recall the definition of a function $A \to B$ as a special subset of $A \times B$.
Now, given non-empty sets $X_i$, how do you define such a function, using the other ZF axioms? You say, for every $i \in I$ we choose some element $x_i \in X_i$. This works for every single $i$ at a time, but this doesn't define a function $i \mapsto x_i$.
Example: Let $I$ be the set of all non-empty subsets of $\mathbb{R}$, and $X_i = i$. Then an element $f$ in $\prod_{i \in I} X_i$ is a function which picks an element $f(T) \in T$ for every non-empty $T \subseteq \mathbb{R}$. How do you define such an $f$? If we would have $\mathbb{N}$ instead of $\mathbb{R}$, we could take $f(T)=\min(T)$, but this doesn't work for $\mathbb{R}$. Apparently, there is no canonical choice of an element in a non-empty set of real numbers. But the AC tells us that we don't have to worry about this, it gives us such a function, even if we cannot "write it down" (which means: construct it from the other ZF axioms).
By the way, if we let $I$ be to be the set of all non-empty open subsets of $\mathbb{R}$, then there is a choice function (provably in ZF): Choose any bijection $\tau : \mathbb{N} \to \mathbb{Q}$, and then assign to each open subset $\emptyset \neq U \subseteq \mathbb{R}$ the element $\tau(\min \{n \in \mathbb{N} : \tau(n) \in U\})$. This works since $U \cap \mathbb{Q} \neq \emptyset$.