I am also having difficulty adding a text box attribute to product in a client's store. I tested adding the text attribute to a product in a clean install on my test server and it worked fine. But on the client's site, the text box doesn't show up at all. So, I'm guessing it's some add-on interfering with the text box. I noticed two things comparing the working site with the non:
1. When I preview the attribute via the attribute controller and look at the source code for where the text box should be, I see the following in the working site:
Code:
<tr>
<td class="main" align="left" valign="top">File Name:</td>
<td class="main" align="left" valign="top" width="75%"><input type="text" name ="id[txt_21]" size="32" maxlength="32" value="" />
</td></tr>
and this in the non-working site:
Code:
<tr>
<td class="main" align="left" valign="top">File Name:</td>
<td class="main" align="left" valign="top" width="75%"></td></tr>
So, it seems as though the text box is not getting written at all and it's not simply a question of a stylesheet rendering it incorrectly.
2. The other thing I noticed is in the Attribute Controller itself. In the working version there was an option value of "TEXT" listed under the Attribute whereas the value "TEXT" was missing from the non working version.
While writing this message, I did some investigating into the databases themselves and found that the non-working version was missing an entry in the table: products_options_values that had an id of 0 and a name of "TEXT". Simply adding that record to the products_options_values table solved the problem.
Hope this helps!