Hola, tengo una duda urgente. Este codigo que aparece procesa el envio de un formulario. En internet explorer funciona correctamente, pero el problema es que además a esta página, operarios de un almacen acceden con unas pda pocket pc. Estas pistolas utilizan javascript 1.0, que creo que es el de internet explorer 3. El problema es que en las pistolas este código no funciona correctamente, creo que el error está en la forma de acceder a los campos, aunque no estoy seguro.
document.forms[0].elements["N.valtot"]
esta forma de acceder creo que no la soporta. Quiza si el campo no se llamara N.valtot no habría problemas, pero debe llamarse así, porque la N se utiliza para otras funciones.
En la pda sale el siguiente mensaje:
Error:'document.forms.0.elements.N.valtot' is not an object
No se si realmente la pistola consigue hacer el primer if o no, aunque creo que no porque si no si estaría accediendo bien.
Como podría acceder para que javascript no de error?
//variable semaforo para controlar que sólo se haga una vez el submit
var semaforo;
function validaFormulario() {
//Validamos los datos del formulario.
//1. Los campos Can y Preuni no pueden tener ','
//alert("Starting to save 3");
var lbresult = true;
if (document.forms[0].elements["N.preuni"] != null)
{
document.forms[0].elements["N.valtot"].value = (document.forms[0].elements["N.can"].value) * (document.forms[0].elements["N.preuni"].value);
}
else
{
document.forms[0].elements["N.valtot"].value = (document.forms[0].elements["N.can"].value) * (document.forms[0].elements["N.preuniordcom"].value);
}
<% if TipoPedido="FMS" or (TipoPedido="REP" and tiporeparable="FMS") then %>
//lbresult = isnumeric(document.infpedrecNY.elements["N.can"].value) ;
//lbresult = lbresult && (isnumeric(document.infpedrecNY.elements["N.preuni"].value)) ;
//lbresult = (document.infpedrecNY.elements["S.codcon"].value!=="");
<% else %>
//lbresult = isnumeric(document.infpedrecNY.elements["N.can"].value);
//lbresult = lbresult && (isnumeric(document.infpedrecNY.elements["N.preuniordcom"].value));
//lbresult = (document.infpedrecNY.elements["S.codcon"].value!=="");
<% end if %>
//alert("Continue to save");
if (lbresult != true) {
<% if idioma = "ENG" then %>
alert("Character ',' is not allowed in numeric fields and Case must be filled.");
<% else %>
alert("El caracter ',' no está permitido en campos numéricos y el contrato debe estar relleno.");
<% end if %>
} else {
//alert("Document validated.");
if(semaforo!=1) {semaforo=1; document.forms[0].submit();}
else {}
}
}
Gracias y un saludo