I've only been using MMA for a month, and I'm working on making interactive Linear Algebra examples that will be used online for students. Right now, for inputting numbers into a matrix, I've been using PopupMenu since it is simple to use and more stable then InputField for my application.
I currently just manually enter an array of PopupMenus:
inputA = {{PopupMenu[Dynamic[a11], Range[-9,9]],PopupMenu[Dynamic[a12], Range[-9,9]],PopupMenu[Dynamic[a13]}, {PopupMenu[Dynamic[a21], Range[-9,9]],PopupMenu[Dynamic[a22], Range[-9,9]],PopupMenu[Dynamic[a23]}, {PopupMenu[Dynamic[a31], Range[-9,9]],PopupMenu[Dynamic[a32], Range[-9,9]],PopupMenu[Dynamic[a33]}}; One downside to PopupMenu is that it is too "cluttered" when the Range is too large. I haven't found any better ways of inputting values, but I was wondering if anyone had suggestions for alternatives for inputting values.
Also, is there is a more concise way of coding in MMA for making this input array?

Clear[a]; Array[ (a[##] = 1; PopupMenu[Dynamic[a[##]], Range[-9, 9]]) &, {3, 3}] // MatrixForm, then use the matrix asArray[a, {3,3}], e.g. display it asDynamic@MatrixForm@Array[a,{3,3}]$\endgroup$InputFieldinitially, but when he input fractions or just erased what was inside the field, the rest of the application would break. So he told me to usePopupMenuinstead, and I kind of just assumed he knew what he was talking about. It is highly possible that he was just missing something (likeNumber) but I never actually took the time to check since I was brand new to the language. $\endgroup$