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

Comprobar Valores Sacados de Tabla

Estas en el tema de Comprobar Valores Sacados de Tabla en el foro de ASP Clásico en Foros del Web. Buenas amigos de forosdelweb....tengo un formulario en el cual cargo los valores de unos repuestos sacados de una base de datos sql server...pero necesito es ...
  #1 (permalink)  
Antiguo 09/02/2009, 13:56
 
Fecha de Ingreso: octubre-2007
Mensajes: 191
Antigüedad: 17 años, 7 meses
Puntos: 0
Comprobar Valores Sacados de Tabla

Buenas amigos de forosdelweb....tengo un formulario en el cual cargo los valores de unos repuestos sacados de una base de datos sql server...pero necesito es que si algun registro no tuviera el precio de costo, mandara un mensaje de alerta..
El formulario es más o menos asi:



Bueno, yo tengo un código para mandar un mensaje de alerta por campos rellenos en javascript asi:

function validar()
{
var error = "Ingrese para Continuar\n\n";
var a = ""
if (boletas.precio.value == "") { a += " Precio de Costo\n"; }
if (a != "") { alert(error + a); return true; }
boletas.submit();
}

que me funciona muy bien...pero sólo cuando tengo un registro de precio..pero no cuando tengo todos esos que ve aprecia en la imagen...espero que se entienda lo que necesito...
De antemano muchas gracias.
  #2 (permalink)  
Antiguo 09/02/2009, 14:07
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Respuesta: Comprobar Valores Sacados de Tabla

No se a que le llames mensaje de alerta, si es solo algo visual lo que te serviria es pintalo de un color que llame la atención, entonces en el ciclo que utilizas para pintar los controles colocas un IF:

Código:
<%
While not rs.eof
  %>
  <input type="text" value="<%=rs("PrecioCosto")%>" <%if IsNUll(rs("PrecioCosto")) Then response.write " class=""textAlerta""" End if%>>
  <% 
  rs.moveNext
wend
%>
Si te refieres a mandar un correo la cosa es diferente, pero necesito que definas ese concepto.

Saludos
  #3 (permalink)  
Antiguo 09/02/2009, 14:22
 
Fecha de Ingreso: octubre-2007
Mensajes: 191
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: Comprobar Valores Sacados de Tabla

primero que todo gracias Myakire por la pronta respuesta...
lo que refiero con mensaje de alerta es mandar un alert para que el usuario rellene los precios de costo que se encuentran en blanco...
O sea..selecciono los repuestos con sus precios..
Con un "Select Precio,Código,Descripcion From Productos"
Los muestro en el formulario para que el usuario verifique....
si hay alguno en blanco..el usuario debe rellenarlo para hacer el update..pero si se encuentra vacío y el usuario no lo relleno, le manda el alert diciendo no se...
"Se encuentran Precios sin Completar, Verifique los datos e intente nuevamente"
y no le deje enviar el formulario me entiendes ahora Myakire??
EDIT:
Este es el codigo del formulario:

Código asp:
Ver original
  1. <html>
  2. <head>
  3. <title>Repuestos</title>
  4. </head>
  5. <%
  6. set Cnn = Server.CreateObject("ADODB.Connection")
  7. set rs = Server.CreateObject ("ADODB.Recordset")
  8. Cnn.Open Session("cnx")
  9.  
  10. strSQL=" select * from producto  where Precio <='5000'  "
  11. set rs = Cnn.Execute(strSQL)
  12.  
  13. %>
  14.  
  15. <body>
  16. <script languaje="javascript">
  17.  
  18. function validar()
  19. {
  20. var error = "Ingrese para Continuar\n\n";
  21. var a = ""
  22. if (form.netos1.value == "") { a += " Precio de Costo\n"; }
  23. if (a != "") { alert(error + a); return true; }
  24. form.submit()
  25. }
  26.  
  27. </script>
  28.  
  29. <form name="form" method="post" action="scripts/val_ajuste_precios.asp">
  30.   <table width="663" height="71" border="1" align="center" cellpadding="2" cellspacing="2">
  31.     <tr>
  32.         <td width="52"><div align="left">Código</div></td>
  33.         <td width="120"><div align="left">Descripcion:</div></td>
  34.         <td width="36"><div align="left">Costo:</div></td>
  35.        
  36.     </tr>
  37.     <%do while not rs.EOF%>
  38.     <tr>
  39.         <td><input name="codprod"  value="<%=RS.Fields("codprod")%>" size="7"></td>
  40.         <td><input name="descrip" value="<%=RS.Fields("descrip")%>" size="15"></td>
  41.         <td><input name="costo" value="<%=RS.Fields("costo")%>" size="6"></td>
  42.        
  43.       <%rs.MoveNext
  44.       loop
  45.       %>
  46.     </tr>
  47.   </table>
  48.   <div align="center">
  49.    <input type="button" onClick="validar()" value="Enviar"  >
  50.  </div>
  51. </form>
  52. </body>
  53. </html>
  #4 (permalink)  
Antiguo 09/02/2009, 16:03
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Respuesta: Comprobar Valores Sacados de Tabla

Bueno, eso no tiene nada que ver con ASP, debiste postear esa duda en el foro de javascript.

Te dejo un código que hace lo que ocupas, si no te salen valores con 0 en precio, refresca la página tantas veces sean necesarias, ya que lleno ese dato de manera aleatoria.

Código:
<html>
<head>
<title>Page title</title>
<script>
function validar(){
  msg = ''
	Cnt = 0
  for (i=0; i<document.form.costo.length;i++){
		 if (document.form.costo[i].value == '0'){ 
		    Cnt++;
		    msg += Cnt + ') ' + document.form.codprod[i].value + '\n'
   	}
	}
	if (Cnt>0)
	   alert('Se han encontrado '+Cnt+' claves sin precio: \n'+msg)
}
</script>
</head>
<body>
<form name="form" method="post" action="scripts/val_ajuste_precios.asp">
<table width="663" height="71" border="1" align="center" cellpadding="2" cellspacing="2">
    <tr>
        <td width="52"><div align="left">Código</div></td>
        <td width="120"><div align="left">Descripcion:</div></td>
        <td width="36"><div align="left">Costo:</div></td>
    </tr>
    <%
    randomize timer
		For i=1 to 10%>
    <tr>
        <td><input name="codprod"  value="<%=int(rnd * 10000)%>" size="7"></td>
        <td><input name="descrip" value="<%="algo"%>" size="15"></td>
        <td><input name="costo" value="<%=int(rnd * 10)%>" size="6"></td>
      <%
      Next
      %>
    </tr>
  </table>
  <div align="center">
   <input type="button" onClick="validar()" value="Enviar"  >
 </div>
</form>
</body>
</html>
  #5 (permalink)  
Antiguo 09/02/2009, 20:36
 
Fecha de Ingreso: octubre-2007
Mensajes: 191
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: Comprobar Valores Sacados de Tabla

Muchas gracias x la respuesta Myakire, pero me asalta una duda....¿para que eso de llenar los valores de forma aleatoria?? o sea la idea mia es que cuando haga la consulta...los productos mostrados en pantalla que no tengan precio almacenado en la bdd el usuario tenga que rellenarlo con los valores correctos..me entiendes?? bueno de todas manera probaré el código que tu me das y despues te aviso...
Nuevamente muchas gracias y hasta pronto
  #6 (permalink)  
Antiguo 09/02/2009, 22:56
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Respuesta: Comprobar Valores Sacados de Tabla

Yo los llené de manera aleatoria, precisamente por que no tengo una BD de donde sacarlos, y me daba pereza llenarlos a mano, jejeje

Solo es un ejemplo, cuando los precios vienen en cero (en mi ejemplo) yo considero que no tienen valor y los agrego en el mensaje de error, en tu caso sería los que tengan un value = '' o un length = 0

capichi?
  #7 (permalink)  
Antiguo 10/02/2009, 08:02
 
Fecha de Ingreso: octubre-2007
Mensajes: 191
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: Comprobar Valores Sacados de Tabla

Compadre Myakire.....Por Fin diste la solucion a mis problemas!!!
Te pasaste compadre..solo tuve que hacer una pequeña modificacion al javascript puesto que si los valores estaban todos correctos, no mandaba el formulario...pero bueno quedó más o menos asi:


Código:
<%
set Cnn = Server.CreateObject("ADODB.Connection") 
set rs = Server.CreateObject ("ADODB.Recordset")
Cnn.Open Session("cnx")

strSQL=" select * from producto  where costo<'10'  "
set rs = Cnn.Execute(strSQL)
%>
<html>
<head>
<title>Page title</title>
<script>
function validar(){
  msg = ''
	Cnt = 0
  for (i=0; i<document.form.costo.length;i++){
		 if (document.form.costo[i].value == ""){ 
		    Cnt++;
		    msg += Cnt + ') ' + document.form.descrip[i].value + '\n'
   	}
	}
	if (Cnt>0)
	  { alert('Se han encontrado '+Cnt+' claves sin precio: \n'+msg); return true; }
form.submit()
}

</script>
</head>

<body>
<form name="form" method="post" action="scripts/val_ajuste_precios.asp">
<table width="496" height="71" border="1" align="center" cellpadding="2" cellspacing="2">
    <tr>
        <td width="56"><div align="left">Código</div></td>
        <td width="286"><div align="left">Descripcion:</div></td>
        <td width="126"><div align="left">Precio</div></td>
    </tr>
    <%do while not rs.EOF%>
    <tr>
        <td><input name="codprod"  value="<%=RS.Fields("codprod")%>" size="7"></td>
        <td><input name="descrip" value="<%=RS.Fields("descrip")%>" size="45"></td>
        <td><input name="costo" value="" size="6"></td>
      <%rs.MoveNext 
	  loop
	  %>
    </tr>
  </table>
  <div align="center">
   <input type="button" onClick="validar()" value="Enviar"  >
 </div>
</form>
</body>
</html>
lo marcado con rojo es lo que modifique jejeje....asi me envía el formulario si todo está correcto...Nuevemente te reitero mis agracecimientos Myakire!!!
si vivieras en Chile.....de todas maneras te invitaría a tomar un trago...jajajaja
Te pasaste compadre...Hasta Pronto...
PD: La verdad que no quise postear en el foro de javascript porque la tabla la relleno con valores desde asp y además porque....bueno...a decir verdad en el foro de javascript como que no he tenido muy buena acogida...al contrario aqui en el foro de asp..
GRACIAS TOTALES!!!
  #8 (permalink)  
Antiguo 10/02/2009, 08:23
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Respuesta: Comprobar Valores Sacados de Tabla

Me alegra que te sirviera

No se por que dices que no ha habido karma en el foro de javascript, quizá solo haz tenido mala suerte, conozco varios usuarios de ese foro y son excelentes personas.

See you
  #9 (permalink)  
Antiguo 11/02/2009, 11:58
 
Fecha de Ingreso: octubre-2007
Mensajes: 191
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: Comprobar Valores Sacados de Tabla

Hola de nuevo amigo Myakire...tengo un solo problema :
si el formulario tiene solamente un repuesto sin precio...no reclama por el campo vacío y manda el formulario ..o sea desde dos repuestos en adelante se ejecuta la comprobacion..sabes por qué pasará eso??
De antemano muchas gracias
  #10 (permalink)  
Antiguo 11/02/2009, 16:13
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Respuesta: Comprobar Valores Sacados de Tabla

He visto tu modificación con cuidado y parece que esta bien, de hecho puedes probar que pasa colocando alerts, quizá uno adentro del for para ver cada valor y claro, uno en lugar del submit:

Código javascript:
Ver original
  1. <script>
  2. function validar(){
  3.   msg = ''
  4.     Cnt = 0
  5.   for (i=0; i<document.form.costo.length;i++){
  6.          if (document.form.costo[i].value == ""){
  7.             Cnt++;
  8.             msg += Cnt + ') ' + document.form.descrip[i].value + '\n'
  9.     }
  10.     }
  11.     if (Cnt>0)
  12.       { alert('Se han encontrado '+Cnt+' claves sin precio: \n'+msg); return true; }
  13.        alert('se manda')
  14. }

Debes de debuguear e ir probando hasta que deduzcas que esta mal, seguro es una nimiedad, problema debe estar con el contenido del campo (supongo), es decir en la linea if (document.form.costo[i].value == ""), tal vez haciendo un trim, no se, cosa de hacer pruebas.
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 17:25.