las referencias directas no son soportadas por la mayoría de los navegadores, debes usarlo así, con colecciones:
 
document.
forms['datos].
elements['ladoa'].value.length 
además que sentido tiene hacer doble trabajo: para que conviertes primero a flotante, si necesitas primero validar si están vacios??? 
así es más eficiente:   
Código Javascript
:
Ver original- <script type="text/javascript" languaje="JavaScript"> 
-     function sumar() 
-     { 
-         var ladoa=document.getElementById('ladoa'); //o document.forms['datos'].elements['ladoa']; 
-         var ladob=document.getElementById('ladob'); 
-         var ladoc=document.getElementById('ladoc'); 
-   
-         if ((ladoa.value == "") || (ladob.value == "") || (ladoc.value == "")  ) 
-         { 
-             alert("EXISTEN VALORES NO INGRESADOS"); 
-             return false; 
-         } 
-         var fladoa = parseFloat(ladoa.value); 
-         var fladob = parseFloat(ladob.value); 
-         var fladoc = parseFloat(ladoc.value); 
-         if ( isNaN(fladoa) ||   isNaN(fladob) || isNaN(fladoc) ) 
-         {    
-             alert("TODOS LOS CAMPOS DEBEN SER VALORES NUMERICOS"); 
-             return false;  
-         } 
-         if ((fladoa <= 0) || (fladob <= 0) || (fladoc <= 0)) 
-         { 
-             alert("SOLO PUEDE INGRESAR VALORES POSITIVOS"); 
-             return false; 
-         } 
-         ladoc.value = document.forms['datos'].elements['raiz'].value = Math.sqrt(fladoc);  
-         var perimetro=fladoa + fladob + fladoc; 
-         document.getElementById('perimetro').value=perimetro;   
-     } 
- </script>