No lo recibe todo. Pero observo que hay un error en: onclick="document.form1.occant.value=document.form1.cant.value". Cuando tenes un solo registro, existe un solo campo llamado "cant". Cuando hay muchos registros, hay muchos campos "cant" por lo que javascript no sabe a cual de ellos te referis al escribir "document.form1.cant.value". Seguramente si entras en la consola javascript del navegador, te este tirando un error. Lo que deberias hacer es hacer es darle un nombre diferente al campo cant. Podrias hacer algo asi: onclick="document.form1.occant.value=document.form1.cant<?php echo $i?>.value". Por lo que en cada vuelta de foreach, cant se llamara en realidad, cant0, cant1, cant2, etc. Obviamente debes sumarle uno a $i, en cada vuelta. Ej: $i++;<br>
<br>Lo que no entiendo, es que al presionar el boton actualizar le doy un valor a "occant". Si tengo varios registros y actualizo varias cantidades "occant" solo guardara el valor del ultimo. No creo que sea lo que quieras hacer. De todas formas, repito que no lo revise todo por lo que es posible que se me este escando algo.<br>
<br>Por otro lado te sugiero que uses para javascript, getElementById(id). Es la nueva forma de hacer referencia a los elementos. En tu caso quedaria algo como: onclick="getElementById('occant').value=getElementById('cant0').value". Puse cant0 como ejemplo.<br>
<br>Saludos!<br><br><br>