Foros del Web » Programando para Internet » ASP Clásico »

Función que no se ejecuta pero no da error

Estas en el tema de Función que no se ejecuta pero no da error en el foro de ASP Clásico en Foros del Web. Ahora mi problema es mayor y es que nisiquiera me da error! Teoricamente cuando muestro el formulario y el usuario pulsa el botón Enviar, se ...
  #1 (permalink)  
Antiguo 29/03/2007, 09:18
Avatar de Shilfild  
Fecha de Ingreso: marzo-2007
Mensajes: 120
Antigüedad: 17 años, 2 meses
Puntos: 0
Función que no se ejecuta pero no da error

Ahora mi problema es mayor y es que nisiquiera me da error! Teoricamente cuando muestro el formulario y el usuario pulsa el botón Enviar, se manda a una función para que valide los parametros.

Cuando pruebo la página resulta que no aparece nada, y debería de aparecer error al menos, lo único que aparece es en la web primero error en la página y después listo.

Lo único que se me ocurre es que nisiquiera recoja las variables, con lo que ya probaría a hacerlo de otra manera, o teneis algún metodo que no sea Request.Write (que no me hace ni caso) para sacar algún mensaje y saber por dónde pasa al ejecutar.

Os dejo el código por si se os ocurre el fallo, ya que si acabo la validación habré acabado el proyecto x_x

Código:
function MostrarForm(paso){
	var campo;
	switch (paso){
		case 1:
%>
<form action=prueba1.asp method=post name="formulari" id="formulari">
			<table><tr>
	
<td>Nombre y Apellidos:</td> <td> <INPUT NAME="v_nombre"></td> </tr>
			<td>E-mail:</td> <td> <INPUT NAME="v_mail"></td> </tr>
			
<td height="26">Telefono:</td> 
<td> <INPUT NAME="v_telefono"></td> </tr>
<td>Sugerencia:</td> <td> <INPUT NAME="v_sugerencia"></td> </tr>
</table>
				
  			
 <input name="Button" type=button value=Enviar onClick="validar()">
 <input type=RESET value=Borrar>
  </form>
	
<%
			
					
}
}
/*Función Validar, Comprueba si hay algún error en Telefono,Mail o Sugerencia
	 Si no es valido darán una serie de errores. 
	 El telefono debe ser numerico
	 El Mail debe de tener un formato correcto
	 El campo sugerencia no puede quedar vacio*/
	 
 function validar(){
	var ftelefono, fmail, fsugerencia;
	var strerror;
	var arrayerror=new Array(3);
	var vcorrecto;
	var x;
	var bien; // prueba
	var numero;
	var mail;

		
vcorrecto= true;
fsugerencia=Request.form("v_sugerencia").Trim;
b=("fsugerencia").length;
if (b=0){
arrayerror[0]=True;
vcorrecto=false;
}
fmail=Request.form("v_mail").Trim;
EsValidoMail(fmail)  // mail valido es otra funcion a la que llamamos
if (bValido=false){
arrayerror[1]=true;
vcorrecto=false;
}
ftelefono=Request.form("v_telefono");
numero = parseInt("ftelefono"); 
if (isNaN(numero)){
arrayerror[2]=true;
vcorrecto=false
} 
/*if(IsNumeric("ftelefono"))=true{
bien=1;
}else{
//	arrayerror[2]=true;
vcorrecto= false;
}*/
return(arrayerror);
}
	
// Formamos una cadena de errores si los hay
if(vcorrecto=false) {
	strerror="'Hay errores en los datos introducidos \n"
	for (i=LBOUND(arrayerror); UBOUND(arrayerror);i++)
		if (arrayerror(i)= True){
			strerror=strerror & msgerror(i)
		}
	next
// Cerramos la comilla para JavaScript
	strerror=strerror & "'"
}else{
	vcorrecto=true
	//iPaso="fin"	
}
validar= vcorrecto
// Validar

// Function Mostrar fallo
function MsgError(codigo){
	// Muestra un mensaje de fallo indicando lo que debemos cambiar o incluir
	switch (codigo){
	case 0:
		MsgError = "* El campo Sugerencia no puede estar vacío \n"
		case 1:
			MsgError = "* El E-mail introducido no es correcto \n"
		case 2:
			MsgError = "* El telefono introducido no es correcto\n"
		default:	MsgError= " * Error no especificado"
		}
} //MsgError
%>
<%
 function ScriptError(){	
	Response.Write (vbTab & "window.alert(" & strError & ");" & vbCrlf);
	Response.Write (vbTab & "history.back();" & vbCrlf);	
 }
 }
%>
También he probado poniendo las variables sin las " "

Tipo esto: numero = parseInt(ftelefono);
if (isNaN(numero)){

y me dá el mismo error, si hace falta lo haré como me dijeron en otro post, para recoger las variables, pero quisiera saber si puede que esté mal cualquier otra cosa.
  #2 (permalink)  
Antiguo 30/03/2007, 04:54
 
Fecha de Ingreso: mayo-2006
Ubicación: Bilbo
Mensajes: 76
Antigüedad: 18 años
Puntos: 0
Re: Función que no se ejecuta pero no da error

Creo entender q lo que te pasa es q no llama a la funcion Validar de jscript, oq eu esta no hace nada, no?
Puede ser xq tengas algun error de sintaxis en el codigo de esa funcion?
A veces cuando hay errores de sintaxis no ves nada en pantalla pero la funcion no se ejecuta.
Yo para depurar esto suelo utilizar el firefox que te muestra la linea de codigo donde tienes el error.
De todas maneras prueba a ir poniendo trazas en la funcion validar para saber si realmente cuando pulsas el boton se la llega a llamar o no
  #3 (permalink)  
Antiguo 30/03/2007, 05:16
Avatar de Shilfild  
Fecha de Ingreso: marzo-2007
Mensajes: 120
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Función que no se ejecuta pero no da error

Gracias por la respuesta, pero me recomendaron hacerlo con JAVASCRIPT y me vino bien, porque así ya no tengo tanto problema n,n pero gracias por tú interes, además lo que creo que lei también por ahí es que la función no la habia puesto en el action >_>
  #4 (permalink)  
Antiguo 30/03/2007, 07:27
Avatar de CésarBalaguer  
Fecha de Ingreso: octubre-2006
Ubicación: en mi casa
Mensajes: 181
Antigüedad: 17 años, 8 meses
Puntos: 0
Re: Función que no se ejecuta pero no da error

sin meterme mucho en el codigo y a simple vista encontrè un error...
tu còdigo dice:
if (b=0){
arrayerror[0]=True;
vcorrecto=false;
}
deberìa edcir:
if (b==0){
arrayerror[0]=True;
vcorrecto=false;
}
  #5 (permalink)  
Antiguo 02/04/2007, 01:25
Avatar de Shilfild  
Fecha de Ingreso: marzo-2007
Mensajes: 120
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Función que no se ejecuta pero no da error

Si, posiblemente tendrá un montón de errores de sintaxis también x_x porque en un par de semanas he mezclado VBScript, JScript sin mencionar que no sabía que JavaScript y JScript eran cosas distintas >_>
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:55.