ahora tenia el nombre del formulario en mayúsculas, por eso en la función era en mayúsculas.
Vuelvo a dejar el fragmento de código entero por si se os ocurre porque puede pasar del todo. El caso es que el submit fuera de la funcion si lo cogía, aunq mal claro (tomaba la i que no era), pero en la función nisiquiera hace nada :(
Código:
<script language="javascript">
function enviar(i){
eval('document.user'+i+.'.submit()');
}
</script>
[...]
$i=0;
while ($r=mysql_fetch_array($result)) {
$nombre=utf8_encode($r['Name']);
$id=$r['Id'];
$tipo=$r['Type'];
$i++
?>
<script type="text/javascript">
var i = <? echo $i;?>;
alert(i);
</script>
<div class="ItemList User" id="ItemList<? echo $i;?>" onclick="StylePropertyToogleById('ItemForm<? echo $i;?>','display','none','');StyleClassToogleById('ItemList<? echo $i;?>','User','UserSelected')">
<div style="margin-left:20px; float:left"><? echo $nombre;?></div>
<div class="ButtonDelete" onclick="enviar(<? echo $i;?>)";></div>
<div class="ButtonSave"></div>
</div>
<div class="ItemForm" id="ItemForm<? echo $i;?>" style="display:none">
<div class="TableMargin">
<form name="user<? echo $i;?>" action="prueba.php" method="post" accept-charset="UTF-8">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<input type="hidden" name="id" value="<? echo $id;?>" />
<td>nombre:<br /><input class="TextFieldForm" id="" type="text" name="name" value="<? echo $nombre;?>"/></td>
<td>administrador:<br /><input class="Checkbox" id="" name="type" type="checkbox" <? if ($tipo==1){ ?> checked <? } ?>/></td>
</tr>
<tr>
<td>contraseña:<br /><input class="TextFieldForm" id="" name="password" type="password"/></td>
</tr>
</table>
</form>
</div>
</div>
<? } ?>
</div>