Retroceder   Foros del Web > Programación para sitios web > ASP Clásico

Respuesta
 
Herramientas Desplegado
Antiguo 23-abr-2008, 10:05   #1 (permalink)
ciisteado ha deshabilitado el karma
 
Avatar de ciisteado
 
Fecha de Ingreso: enero-2008
Ubicación: Pachuca, Hgo., México.
Mensajes: 64
Enviar un mensaje por MSN a ciisteado Enviar un mensaje por Yahoo  a ciisteado
Exclamación Validación de múltiples cadenas...

Hola a todos:

El problema es el siguiente, en un formulario capturo múltiples valores en cajas de texto, lo que requiero saber es como validar que esos valores NUNCA sean iguales..

Anexo el codigo que uso para capturar los valores haber si de algo sirve...
ayuda.asp
Código HTML:
<form name"ayuda" method="post" action="ayuda2.asp">
<%
	lim=15
%>
	<input type="hidden" name="total" value="<%response.Write(lim)%>"/>
<%
	for i=1 to lim
%>
	<tr>
		<td>IMEI:&nbsp;<input type="text" name="imei<%response.write(i)%>"/></td>
		<td>ICC:&nbsp;<input type="text" name="icc<%response.write(i)%>"/></td>
		<td>DN:&nbsp;<input type="text" name="dn<%response.write(i)%>"/></td>
	</tr>
<%next%>
	<tr>
		<td><input type="submit"value="Enviar datos"/></td>
	</tr>
</table>
</form>
En este archivo recojo los valores que capture para hacer el insert
ayuda2.asp
Código HTML:
<%
	lim=request("total")
	for i=1 to lim
		sql="INSERT INTO series(imei,icc,dn) VALUES("&request("imei"&i)&","&request("icc"&i)&","&request("dn"&i)&")"
	next
%>
Obviamente la cantidad de valores nunca es la misma, pero lo importante de esto es saber en donde hago la validacion para que no se capturen los mismos datos en cualquier caja de texto..

Agradezco enormemente cualquier ayuda...

Saludos a todos...
ciisteado está desconectado   Responder Citando
Antiguo 23-abr-2008, 10:10   #2 (permalink)
Colaborador
Shiryu_Libra llegará a ser famoso muy prontoShiryu_Libra llegará a ser famoso muy prontoShiryu_Libra llegará a ser famoso muy pronto
 
Avatar de Shiryu_Libra
 
Fecha de Ingreso: febrero-2007
Ubicación: Localhost/Pruebas....
Mensajes: 2.585
Enviar un mensaje por MSN a Shiryu_Libra Enviar un mensaje por Yahoo  a Shiryu_Libra Enviar un mensaje por Skype™ a Shiryu_Libra
Re: Validación de múltiples cadenas...


esto lo deberias de manejar en javascript, para que valide el contenido directamente antes de darle click al boton enviar

el problema radica en que hipoteticamente serian muchos valores a comprobar... claro pueden ser 1 o 2, pero y si la vuelta son 10?, como creas los parametros para que la funcion recorra toda la coleccion y verifique que ninguno sea igual??
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
Shiryu_Libra está desconectado   Responder Citando
Antiguo 23-abr-2008, 10:23   #3 (permalink)
ciisteado ha deshabilitado el karma
 
Avatar de ciisteado
 
Fecha de Ingreso: enero-2008
Ubicación: Pachuca, Hgo., México.
Mensajes: 64
Enviar un mensaje por MSN a ciisteado Enviar un mensaje por Yahoo  a ciisteado
Re: Validación de múltiples cadenas...

Hola Shiryu_Libra:

Precisamente ese es el problema que tengo, no sé como validar tantos valores.. por que no solo son 10 en ocaciones estos valores pueden llegar hasta 100 o más..

Se me ocurre postearte la función con la que verifico si todos los campos han sido llenados...
Código HTML:
<script language="javascript">
	function guardar()
	{
		var x;
		x=1;
		var limite=15;
		var i=0;
		<%for i=1 to limite%>	
			if((window.series.imei<%response.write(i)%>.value=='')||(window.series.icc<%response.write(i)%>.value=='')||(window.series.dn<%response.write(i)%>.value==''))
			{
				x=0;
				alert('Es NECESARIO llenar todos los campos de IMEI, ICC y DN que aparecen en pantalla');
				<%i=limite%>
			}		
		<%next%>
	}
</script>
Ojála pudieras orientarme en como hacer esa validación...

Gracias por todo...

Saludos...
ciisteado está desconectado   Responder Citando
Antiguo 23-abr-2008, 11:29   #4 (permalink)
Colaborador
Shiryu_Libra llegará a ser famoso muy prontoShiryu_Libra llegará a ser famoso muy prontoShiryu_Libra llegará a ser famoso muy pronto
 
Avatar de Shiryu_Libra
 
Fecha de Ingreso: febrero-2007
Ubicación: Localhost/Pruebas....
Mensajes: 2.585
Enviar un mensaje por MSN a Shiryu_Libra Enviar un mensaje por Yahoo  a Shiryu_Libra Enviar un mensaje por Skype™ a Shiryu_Libra
Re: Validación de múltiples cadenas...

tomando como base este grandioso codigo de Tunait (), creo que te seria mas sencillo implementarlo

este es el codigo
Código PHP:
<script type="text/javascript">
//Script verificador de formularios por Tunait!
//Los campos obligados deben terminar con un *
//No verifica los checkbox ni los radio 

function verificarFormu(cualo){
    for(
m=0;m<cualo.length;m++){
        if(
cualo.elements[m].name.charAt(cualo.elements[m].name.length-1) == ""){
            if(
cualo.elements[m].value==""){
                
alert("Debe poner un " cualo.elements[m].name.substring(0,cualo.elements[m].name.length-1))
                
cualo.elements[m].focus()
                return 
false
                
break;
                }
                if(
cualo.elements[m].name=="Email" || cualo.elements[m].name=="Email*"){
                    
pat=/^[w_.çñ]{2,255}@[w]{2,255}.[a-z]{1,3}.?[a-z]{0,3}$/
                    if(!
pat.test(cualo.elements[m].value)){
                        
alert("Introduzca un E-mail válido")
                        
cualo.elements[m].focus()
                        return 
false
                    
}
                }
            else{
                continue
            }
        }
    }
}
</script> 
y de esta manera mandaras llamarlo
Código PHP:
<form name="form1" method="post"          action="loquesea" onSubmit="return          verificarFormu(this)"
en los campos, a la vuelta por el for
Código PHP:
%>
    <
tr>
        <
td>IMEI:&nbsp;<input type="text" name="imei<%response.write(i)%>*"/></td>
        <
td>ICC:&nbsp;<input type="text" name="icc<%response.write(i)%>*"/></td>
        <
td>DN:&nbsp;<input type="text" name="dn<%response.write(i)%>*"/></td>
    </
tr>
<%
next%> 
en esta funcion, detectara que no haya campos vacios, ahora solo habria que tomarla como referencia para modificar los IF para evaluacion de inputs contra inputs

te sirve esto?
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
Shiryu_Libra está desconectado   Responder Citando
Antiguo 23-abr-2008, 11:44   #5 (permalink)
Moderador
u_goldman llegará a ser famoso muy prontou_goldman llegará a ser famoso muy prontou_goldman llegará a ser famoso muy pronto
 
Avatar de u_goldman
 
Fecha de Ingreso: noviembre-2002
Ubicación: LA
Mensajes: 7.259
Enviar un mensaje por MSN a u_goldman
Re: Validación de múltiples cadenas...

Yo no creo que en este caso sea recomendable la validación en JavaScript, pues estamos hablando de un proceso crítico de inserción de datos, en donde se supone no debería haber duplicados, si yo desactivo JavaScript, entonces podría envíar registros duplicados a la base de datos, además me parece que este tipo de validación recursiva debe ser mucho más eficiente del lado del servidor.

Según entiendo se deben validar entre sí, y pueden llegar a ser más de 100, realmente es muy peligroso hacerlo con JavaScript. El proceso para tendría que ser básicamente dos ciclos, el externo para iterar el número de elementos de una colección (un arreglo formado con request.form), y el interno para comparar el elemento iterado en ese momento con cada uno de los elementos del arreglo en el índice de i+1, si encuentras uno igual, terminas el ciclo y lo regresas, de lo contrario, todo prosigue.

Es solo una idea de la implementación, como empezar te corresponde a tí.


Saludos
__________________
¿Qué darías por vivir un sueño?
u_goldman está desconectado   Responder Citando
Antiguo 23-abr-2008, 11:52   #6 (permalink)
Reyleo no se puede cailificar en este momento
 
Avatar de Reyleo
 
Fecha de Ingreso: julio-2006
Mensajes: 6
Enviar un mensaje por MSN a Reyleo
Re: Validación de múltiples cadenas...

Hola ciisteado, hasta hoy puede ver tu pregunta que espero aun te sirva mi respuesta.
No indicas si la validación es solo por grupos de IMEI's, ICC's y DN's o completamente todos entre si, por lo que supondre que es esta ultima.

La solucion es sencilla, pero empecemos por el primer codigo en HTML:

<form name"ayuda" method="post" action="ayuda2.asp">
<%
lim=15
%>
<input type="hidden" name="total" value="<%=lim%>"/> <!--aqui indicamos el numero de renglones-->
<%
for i=1 to lim
%>
<tr>
<!--Usa el signo de igual despues de los tags de servidor (los que tienen el %) en
vez del response, es menos codigo, mas sencillo de ver y mas rapido -->
<!--Agregamos la propiedad id dentro del control Text, eso nos facilitará su manejo
con el javascript -->
<!--Agrega la llamda de la función Javascript funChecaSiRepite() mediante el evento de
onBlur, de esta forma se invocará cuando el control deje de tener el foco -->

<td><%=i%></td> <!--Este campo solo nos ayudará para indicar el renglon-->
<td>IMEI:&nbsp;<input type="text" id="imei<%=i%>" name="imei<%=i%>"/ onBlur="funChecaSiRepite(this, 'imei', <%=i%>);"></td>
<td>ICC:&nbsp;<input type="text" id="ICC<%=i%>" name="ICC<%=i%>"/ onBlur="funChecaSiRepite(this, 'ICC', <%=i%>);"></td>
<td>DN:&nbsp;<input type="text" id="DN<%=i%>" name="DN<%=i%>%>"/ onBlur="funChecaSiRepite(this, 'DN', <%=i%>);"></td>
</tr>
<%next%>
<tr>
<td colspan="4" align="center"><input type="submit"value="Enviar datos"/></td>
</tr>
</table>
</form>


Ahora el codigo de la funcion en Javascript seria la siguiente:

function funChecaSiRepite(ctrlCaja, TipoControl, intRenglon)
{
var strTextoAChecar = ctrlCaja.value;
var intNumRenglones = document.ayuda.total.value;
var intContador = 1;

//Verificamos si tiene algo la caja que estamos analizando, de lo contrario hacemos nada
if(strTextoAChecar.length > 0)
{

while(intContador <= intNumRenglones)
{

//Si tiene algo el control tipo IMEI podemos comparar su contenido si
//es igual al control que estamos verificando.
if(document.ayuda.all("imei" + intContador).value.length > 0)
{

if(strTextoAChecar == document.ayuda.all('imei' + intContador).value)
{
alert("El campo " + TipoControl + " del renglon " + intRenglon + "\nes igual al campo IMEI del renglon " + intContador);
}

}

//Si tiene algo el control tipo ICC podemos comparar su contenido si
//es igual al control que estamos verificando.
if(document.ayuda.all("ICC" + intContador).value.length > 0)
{

if(strTextoAChecar == document.ayuda.all('ICC' + intContador).value)
{
alert("El campo " + TipoControl + " del renglon " + intRenglon + "\nes igual al campo ICC del renglon " + intContador);
}

}


//Si tiene algo el control tipo DN podemos comparar su contenido si
//es igual al control que estamos verificando.
if(document.ayuda.all("DN" + intContador).value.length > 0)
{

if(strTextoAChecar == document.ayuda.all('DN' + intContador).value)
{
alert("El campo " + TipoControl + " del renglon " + intRenglon + "\nes igual al campo DN del renglon " + intContador);
}

}

intContador++;
}

}


}


Espero tu comentarios, o escribeme a reyleo747@hotmail.com
Saludos !!

Atte.

Reyleo
Reyleo está desconectado   Responder Citando
Antiguo 23-abr-2008, 11:59   #7 (permalink)
Moderador
Al Zuwaga llegará a ser famoso muy prontoAl Zuwaga llegará a ser famoso muy prontoAl Zuwaga llegará a ser famoso muy prontoAl Zuwaga llegará a ser famoso muy prontoAl Zuwaga llegará a ser famoso muy pronto
 
Avatar de Al Zuwaga
 
Fecha de Ingreso: noviembre-2002
Ubicación: 34.517 S, 58.500 O
Mensajes: 12.181
Re: Validación de múltiples cadenas...

Cita:
El proceso para tendría que ser básicamente dos ciclos, el externo para iterar el número de elementos de una colección (un arreglo formado con request.form), y el interno para comparar el elemento iterado en ese momento con cada uno de los elementos del arreglo en el índice de i+1, si encuentras uno igual, terminas el ciclo y lo regresas, de lo contrario, todo prosigue.
Hola master, se me ocurre que se podría ordenar el array y comparar el elemento actual con el siguiente. ¿Sería menos costoso así?
__________________
···---···
Al Zuwaga está desconectado   Responder Citando
Antiguo 23-abr-2008, 12:11   #8 (permalink)
Moderador
u_goldman llegará a ser famoso muy prontou_goldman llegará a ser famoso muy prontou_goldman llegará a ser famoso muy pronto
 
Avatar de u_goldman
 
Fecha de Ingreso: noviembre-2002
Ubicación: LA
Mensajes: 7.259
Enviar un mensaje por MSN a u_goldman
Re: Validación de múltiples cadenas...

Cita:
Iniciado por Al Zuwaga Ver Mensaje
Hola master, se me ocurre que se podría ordenar el array y comparar el elemento actual con el siguiente. ¿Sería menos costoso así?
Holas AZ, si, me imagino que definitivamente es más eficiente si al ordenar se hacen las comparaciones, y si implementamos algún algoritmo no tan costoso -QuickSort me viene a la mente- mucho mejor.

Salú
__________________
¿Qué darías por vivir un sueño?
u_goldman está desconectado   Responder Citando
Antiguo 23-abr-2008, 12:13   #9 (permalink)
Reyleo no se puede cailificar en este momento
 
Avatar de Reyleo
 
Fecha de Ingreso: julio-2006
Mensajes: 6
Enviar un mensaje por MSN a Reyleo
Re: Validación de múltiples cadenas...

El metodo que propongo es muy eficiente, facil de implementar y ayuda a que el servidor no trabaje innecesariamente(principal funcion del javascript). En caso de que se quiera tener la seguridad de la activación del Javascript en los navegadores, se puede obligar al usuario a activarlo al cambiar los botones de tipo Submit por simples controles de tipo button e invocar el evento submit en la validacion de una funcion javascript, de esa forma si el usuario desactiva el javascript simplemente no podrá pasar a la siguiente pantalla.

P.D. Como puedo hacer en esta herramienta colocar el codigo dentro de los cuadros que usan para tal fin, no se que control es.

Atte.

Reyleo
Reyleo está desconectado   Responder Citando
Antiguo 23-abr-2008, 12:21   #10 (permalink)
Moderador
Al Zuwaga llegará a ser famoso muy prontoAl Zuwaga llegará a ser famoso muy prontoAl Zuwaga llegará a ser famoso muy prontoAl Zuwaga llegará a ser famoso muy prontoAl Zuwaga llegará a ser famoso muy pronto
 
Avatar de Al Zuwaga
 
Fecha de Ingreso: noviembre-2002
Ubicación: 34.517 S, 58.500 O
Mensajes: 12.181
Re: Validación de múltiples cadenas...

Y si en vez de QuickSort usamos esto?

Cita:
Iniciado por Myakire Ver Mensaje
Aquí hay un ejemplo de uso e interacción de los dos lenguajes en la misma página:
Código:
<script language=JScript runat=server>
    function SortVBArray(arrVBArray) {
        return arrVBArray.toArray().sort().join('\b');
    }
</script>

<%
arrInput = Split("6,2,9,3,5,1",",")
SortArray = Split(SortVBArray(arrInput), Chr(8))
for i=0 to UBound(SortArray)
    response.write SortArray(i) & ", "
next
%>



Cita:
Iniciado por Reyleo
P.D. Como puedo hacer en esta herramienta colocar el codigo dentro de los cuadros que usan para tal fin, no se que control es.
Hola Reyleo, podés usar los vBCODE [ CODE ] [ /CODE ] (sin los espacios) para tal fin
__________________
···---···
Al Zuwaga está desconectado   Responder Citando
Antiguo 23-abr-2008, 12:23   #11 (permalink)
Moderador
u_goldman llegará a ser famoso muy prontou_goldman llegará a ser famoso muy prontou_goldman llegará a ser famoso muy pronto
 
Avatar de u_goldman
 
Fecha de Ingreso: noviembre-2002
Ubicación: LA
Mensajes: 7.259
Enviar un mensaje por MSN a u_goldman
Re: Validación de múltiples cadenas...

Cita:
Iniciado por Reyleo Ver Mensaje
El metodo que propongo es muy eficiente, facil de implementar y ayuda a que el servidor no trabaje innecesariamente(principal funcion del javascript). En caso de que se quiera tener la seguridad de la activación del Javascript en los navegadores, se puede obligar al usuario a activarlo al cambiar los botones de tipo Submit por simples controles de tipo button e invocar el evento submit en la validacion de una funcion javascript, de esa forma si el usuario desactiva el javascript simplemente no podrá pasar a la siguiente pantalla.

P.D. Como puedo hacer en esta herramienta colocar el codigo dentro de los cuadros que usan para tal fin, no se que control es.

Atte.

Reyleo
Hola Reyleo, bienvenido a FDW!

Yo creo que el problema de JavaScript es que no puedes confiar en un proceso en el cliente, no dudo que tu solución se muy buena -así se ve- y estoy de acuerdo con hacer cosas pequeñas del lado del cliente, pero me imagino que una validación así no solo consume muchos recursos sino también puede ser "asaltada" .

Ahora por aquello de desactivar los botones y cosas así, si es un ambiente controlado supongo que puedes poner las reglas que quieras, de lo contrario creo que siempre deberías proveer una manera de que tu aplicación funcione (graceful degradation)


Salud
__________________
¿Qué darías por vivir un sueño?
u_goldman está desconectado   Responder Citando
Antiguo 23-abr-2008, 12:24   #12 (permalink)
Moderador
u_goldman llegará a ser famoso muy prontou_goldman llegará a ser famoso muy prontou_goldman llegará a ser famoso muy pronto
 
Avatar de u_goldman
 
Fecha de Ingreso: noviembre-2002
Ubicación: LA
Mensajes: 7.259
Enviar un mensaje por MSN a u_goldman
Re: Validación de múltiples cadenas...

Cita:
Iniciado por Al Zuwaga Ver Mensaje
Y si en vez de QuickSort usamos esto?
Nah, ese lo propocionó Myakire
__________________
¿Qué darías por vivir un sueño?
u_goldman está desconectado   Responder Citando
Antiguo 23-abr-2008, 12:44   #13 (permalink)
Reyleo no se puede cailificar en este momento
 
Avatar de Reyleo
 
Fecha de Ingreso: julio-2006
Mensajes: 6
Enviar un mensaje por MSN a Reyleo
Re: Validación de múltiples cadenas...

Muchas gracias Al Zuwaga.

Solo por probar colocare mi solucion propuesta un poco mejorada:

Código:
<form name"ayuda" method="post" action="ayuda2.asp">
<%
	lim=15
%>
	<input type="hidden" name="total" value="<%=lim%>"/> <!--aqui indicamos el numero de renglones-->
<%
	for i=1 to lim
%>
	<tr>
	    <!--Usa el signo de igual despues de los tags de servidor (los que tienen el %) en
			vez del response, es menos codigo, mas sencillo de ver y mas rapido -->
        <!--Agregamos la propiedad id dentro del control Text, eso nos facilitará su manejo
			con el javascript -->
        <!--Agrega la llamda de la función Javascript funChecaSiRepite() mediante el evento de
			onBlur, de esta forma se invocará cuando el control deje de tener el foco -->
			
        <td><%=i%></td> <!--Este campo solo nos ayudará para indicar el renglon-->
		<td>IMEI:&nbsp;<input type="text" id="imei<%=i%>" name="imei<%=i%>"/ onBlur="funChecaSiRepite(this, 'imei', <%=i%>);"></td>
		<td>ICC:&nbsp;<input type="text" id="ICC<%=i%>" name="ICC<%=i%>"/ onBlur="funChecaSiRepite(this, 'ICC', <%=i%>);"></td>
		<td>DN:&nbsp;<input type="text" id="DN<%=i%>" name="DN<%=i%>%>"/ onBlur="funChecaSiRepite(this, 'DN', <%=i%>);"></td>
	</tr>
<%next%>
	<tr>
		<td colspan="4" align="center"><input type="submit"value="Enviar datos"/></td>
	</tr>
</table>
</form>

y el JAVASCRIPT Sería:

Código:
function funChecaSiRepite(ctrlCaja, TipoControl, intRenglon)
{
	var strTextoAChecar = ctrlCaja.value;
	var intNumRenglones = document.ayuda.total.value;
	var intContador = 1;

	//Verificamos si tiene algo la caja que estamos analizando, de lo contrario hacemos nada
	if(strTextoAChecar.length > 0)
	{

		while(intContador <= intNumRenglones)
		{

			//Si tiene algo el control tipo IMEI podemos comparar su contenido si 
			//es igual al control que estamos verificando.
		    if(document.ayuda.all("imei" + intContador).value.length > 0)
		    {

				if(strTextoAChecar == document.ayuda.all('imei' + intContador).value)
				{
				    alert("El campo " + TipoControl + " del renglon " + intRenglon + "\nes igual al campo IMEI del renglon " + intContador + "\nEl cursor se situará en el campo correspondiente.");
				    ctrlCaja.onfocus();
				}

			}

			//Si tiene algo el control tipo ICC podemos comparar su contenido si
			//es igual al control que estamos verificando.
		    if(document.ayuda.all("ICC" + intContador).value.length > 0)
		    {

				if(strTextoAChecar == document.ayuda.all('ICC' + intContador).value)
				{
				    alert("El campo " + TipoControl + " del renglon " + intRenglon + "\nes igual al campo ICC del renglon " + intContador + "\nEl cursor se situará en el campo correspondiente.");
   				    ctrlCaja.onfocus();
				}

			}


			//Si tiene algo el control tipo DN podemos comparar su contenido si
			//es igual al control que estamos verificando.
		    if(document.ayuda.all("DN" + intContador).value.length > 0)
		    {

				if(strTextoAChecar == document.ayuda.all('DN' + intContador).value)
				{
				    alert("El campo " + TipoControl + " del renglon " + intRenglon + "\nes igual al campo DN del renglon " + intContador + "\nEl cursor se situará en el campo correspondiente.");
   				    ctrlCaja.onfocus();
				}

			}

	        intContador++;
		}

	}
	

}
CITA:
Código:
DEL MASTER u_goldman:

Hola Reyleo, bienvenido a FDW!

Yo creo que el problema de JavaScript es que no puedes confiar en un proceso en el cliente, no dudo que tu solución se muy buena -así se ve- y estoy de acuerdo con hacer cosas pequeñas del lado del cliente, pero me imagino que una validación así no solo consume muchos recursos sino también puede ser "asaltada" . 

Ahora por aquello de desactivar los botones y cosas así, si es un ambiente controlado supongo que puedes poner las reglas que quieras, de lo contrario creo que siempre deberías proveer una manera de que tu aplicación funcione (graceful degradation)

P.D. Muchas gracias u_goldman por la bienvenida y por tus comentarios. Te comento que estoy completamente de acuerdo con lo que dices, pero sabemos que en web es muy dificil tener los ambientes controlados al 100% sin embargo desde hace un rato se induce al usuario a respetar las reglas de tu sitio (por ejemplo Flash y sus plugins, VS .NET ActiveX, etc.) y hay sitios criticos (por ejemplo el de un un banco) muchas de sus funcionalidades estan en java y javascript y obligan al usuario activar las opciones correspondientes a estos, de otra forma no podran navegar. Bueno los dejo, y fue un honor muy grato el haber compartido una sugerencia entre tanto Master de este foro. Muchas gracias por su atencion.

Atte.

Reyleo
Reyleo está desconectado   Responder Citando
Antiguo 23-abr-2008, 12:49   #14 (permalink)
Moderador
u_goldman llegará a ser famoso muy prontou_goldman llegará a ser famoso muy prontou_goldman llegará a ser famoso muy pronto
 
Avatar de u_goldman
 
Fecha de Ingreso: noviembre-2002
Ubicación: LA
Mensajes: 7.259
Enviar un mensaje por MSN a u_goldman
Re: Validación de múltiples cadenas...

Bueno, ahí están las aportaciones sobre la mesa, ya le tocará a ciisteado elegir, ya me voy antes de que regrese AZ a corregirme

P.D. Reyleo, para las citas, puedes utilizar las etiquetas [ QUOTE ][ /QUOTE ]

Saludos
__________________
¿Qué darías por vivir un sueño?
u_goldman está desconectado   Responder Citando
Antiguo 23-abr-2008, 13:27   #15 (permalink)
Moderador
Al Zuwaga llegará a ser famoso muy prontoAl Zuwaga llegará a ser famoso muy prontoAl Zuwaga llegará a ser famoso muy prontoAl Zuwaga llegará a ser famoso muy prontoAl Zuwaga llegará a ser famoso muy pronto
 
Avatar de Al Zuwaga
 
Fecha de Ingreso: noviembre-2002
Ubicación: 34.517 S, 58.500 O
Mensajes: 12.181
Re: Validación de múltiples cadenas...

Yo no corrijo a nadie! Sólo sugiero ideas ;)
__________________
···---···
Al Zuwaga está desconectado   Responder Citando
Antiguo 24-abr-2008, 08:57   #16 (permalink)
Reyleo no se puede cailificar en este momento
 
Avatar de Reyleo
 
Fecha de Ingreso: julio-2006
Mensajes: 6
Enviar un mensaje por MSN a Reyleo
Re: Validación de múltiples cadenas...

Hola Ciisteado, recibi tu mail, te envio el codigo ya implementado completamente en una pagina ASP, ya lo cale y funciona sin problemas. Mande el foco si hay un error en algun campo donde su contenido se repita, si usas hojas de estilo podrias darle el efecto de cambiar de color cuando algun control tenga el foco y eso ayudaría a ver mejor donde esta el cursor.

Si tienes alguna duda estoy a tus ordenes

Saludos.

Atte.

Reyleo

Código:
 
<HTML>
<HEAD>
<script language="javascript">
function funChecaSiRepite(ctrlCaja, TipoControl, intRenglon)
{
 var strTextoAChecar = ctrlCaja.value;
 var intNumRenglones = document.ayuda.total.value;
 var intContador = 1;
 
 //Verificamos si tiene algo la caja que estamos analizando, de lo contrario hacemos nada
 if(strTextoAChecar.length > 0)
 {
  while(intContador <= intNumRenglones)
  {
   //Si tiene algo el control tipo IMEI podemos comparar su contenido si
   //es igual al control que estamos verificando.
      if(document.ayuda.all("imei" + intContador).value.length > 0 && TipoControl == "imei")
      {
    if((strTextoAChecar == document.ayuda.all('imei' + intContador).value) && intRenglon != intContador)
    {
        alert("El campo " + TipoControl + " del renglon " + intRenglon + "\nes igual al campo IMEI del renglon " + intContador + "\nEl cursor se situará en el campo correspondiente.");
        ctrlCaja.focus();
    }
      }
 
   //Si tiene algo el control tipo IMEI podemos comparar su contenido si
   //es igual al control que estamos verificando.
      if(document.ayuda.all("ICC" + intContador).value.length > 0 && TipoControl == "ICC")
      {
    if((strTextoAChecar == document.ayuda.all('ICC' + intContador).value) && intRenglon != intContador)
    {
        alert("El campo " + TipoControl + " del renglon " + intRenglon + "\nes igual al campo ICC del renglon " + intContador + "\nEl cursor se situará en el campo correspondiente.");
        ctrlCaja.focus();
    }
      }
 
   //Si tiene algo el control tipo IMEI podemos comparar su contenido si
   //es igual al control que estamos verificando.
      if(document.ayuda.all("imei" + intContador).value.length > 0 && TipoControl == "DN")
      {
    if((strTextoAChecar == document.ayuda.all('DN' + intContador).value) && intRenglon != intContador)
    {
        alert("El campo " + TipoControl + " del renglon " + intRenglon + "\nes igual al campo DN del renglon " + intContador + "\nEl cursor se situará en el campo correspondiente.");
        ctrlCaja.focus();
    }
      }
      intContador++;
  }
 }
 
}
</script>
 
</HEAD>
 
<BODY>
<%
Dim lim
lim = 15
%>
<form name="ayuda" method="post" action="ayuda2.asp">
<input type="hidden" name="total" value="<%=lim%>"> <!--aqui indicamos el numero de renglones-->
<table>
<%
 for i=1 to lim
%>
 <tr>
     <!--Usa el signo de igual despues de los tags de servidor (los que tiene