Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/01/2011, 06:09
rafamadrile
 
Fecha de Ingreso: diciembre-2008
Mensajes: 84
Antigüedad: 15 años, 11 meses
Puntos: 0
Problema con substr

Hola.

llevo varias horas dandole vueltas a una funcion que valida un formulario y me da el siguiente error Banco.substr is not a function.

El codigo es el siguiente:

Código:
function calculaDC(Banco, Cuenta){
	Pesos= new Array(6,3,7,9,10,5,8,4,2,1);
	var result ='';
	var iTemp =0;
	for (var n=0;n<=7;n++){
		iTemp  = iTemp + Banco.substr(7 - n, 1) * Pesos[n];
	}
	result = 11 - iTemp % 11;
	if (result > 9){
		result=1-result % 10;
	}
	iTemp=0;
	for (var n=0;n<=9;n++){
		iTemp  = iTemp + Cuenta.substr(9 - n, 1) * Pesos[n];
	}
	iTemp =11 - (iTemp % 11);
	if (iTemp > 9){
		iTemp =1-(iTemp % 10);
	}
	result=result*10+iTemp;
	return(result);
}
function HazteSocio(){
	IMPORTE = document.getElementById("00NA0000005QsHu").value;
	NIF = document.getElementById("00NA0000005QsHW").value;
	NOMBRE = document.getElementById("first_name").value;
	EMAIL = document.getElementById("email").value;	
	ENTIDAD = document.getElementById("00NA0000005QsHs").value;
	OFICINA = document.getElementById("00NA0000005QsHt").value;
	DC = document.getElementById("00NA0000005QsHq").value;
	CUENTA = document.getElementById("00NA0000005QsHr").value;
	if (IMPORTE == "" || NIF == "" || NOMBRE == "" || EMAIL == "" || ENTIDAD == "" || OFICINA == "" || DC == "" || CUENTA == "")
		alert("Por favor, rellene todos los campos obligatorios y vuelva a enviar el formulario. Muchas gracias.");
	else if ( !(/\w{1,}[@][\w\-]{1,}([.]([\w\-]{1,})){1,3}$/.test(EMAIL)) )
		alert("Introduzca un email valido.");
	else if (isNaN(IMPORTE))
		alert("Introduzca un importe valido.");
	else if (calculaDC(ENTIDAD[0].value+OFICINA[0].value, CUENTA[0].value) != DC[0].value )
		alert ("Los datos bancarios son incorrectos. Por favor introdúcelos de nuevo");		
	else
		document.haztesocio.submit();	
}
Agradezco cualquier sugerencia.

Un saludo