Evidentemente hai aggiunto successivamente alla creazione dell' script un campo al form... e lo hai messo al primo posto, in questo modo hai invalidato l'uso dell'indice agli elementi del form.

Puoi correggere gli indici da usare:
codice:
function check()
{
var x=document.form1.elements[1].value;
var ext=x.length;
document.form1.elements[2].value=250-ext;
if(parseInt(document.form1.elements[2].value)<0) 
{
document.form1.elements[2].value="Err";
window.alert("Puoi scrivere al massimo 250 caratteri!!!");
var shorter=x.slice(0,250); 
document.form1.elements[1].value=shorter;
document.form1.elements[2].value="0";
}
}
ma sarebbe meglio fare uso del parametro name:
codice:
function check()
{
var x=document.form1.elements["descrizione"].value;
var ext=x.length;
document.form1.elements["peso"].value=250-ext;
if(parseInt(document.form1.elements["peso"].value)<0) 
{
document.form1.elements["peso"].value="Err";
window.alert("Puoi scrivere al massimo 250 caratteri!!!");
var shorter=x.slice(0,250); 
document.form1.elements["descrizione"].value=shorter;
document.form1.elements["peso"].value="0";
}
}
</SCRIPT>
ma, dato che ci sei, anche per snellire il codice stesso:
codice:
function check()
{
	var f=document.form1;
	var d=f.elements["descrizione"];
	var p=f.elements["peso"];
	var l = 250 - d.value.length;
	if(l<0) 
	{
		p.value="Err";
		window.alert("Puoi scrivere al massimo 250 caratteri!!!");
		d.value=d.value.slice(0,250); 
		l=0;
	}
	p.value=l;
}
ciao