I have now actually read your javascript and discovered that you have no clue what you're doing.
First off, you're not using a textarea, you're using a text input field. To change the content of a text input field use javascript:
document.form1.price.value = 'x';
Give your form a name other than "form"
There's no need to recreate the select area in your javascript: javascript can already read it.
You want to pass the value onClick
You want to pass "this" -- the object being clicked -- to your function
I've made some changes quickly that will either work immediately or indicate what sort of direction you need to take to debug.
<HTML>
<HEAD>
<? list ($select, $prices) = select_item_price (); ?>
<script>
function showPrice(selecteditem)
{
document.form1.price.value = selecteditem.value;
}
</script>
</HEAD>
<BODY>
<form name= "form1">
<select name="item" onClick="showPrice(this)">
<? echo $select; ?>
</select>
<input type="text" name="price" value= "">
</form>
Oh, hell, read a tutorial