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

se puede automatizar esta currada??

Estas en el tema de se puede automatizar esta currada?? en el foro de ASP Clásico en Foros del Web. <% if Rs("sotano")="1" then %><input name="sotano" type="checkbox" id="sotano" value="1" checked><%else%><input name="sotano" type="checkbox" id="sotano" value="1"><%end if%> <% if Rs("portero")="1" then %><input name="portero" type="checkbox" id="portero" value="1" checked><%else%><input ...
  #1 (permalink)  
Antiguo 08/10/2004, 13:21
 
Fecha de Ingreso: noviembre-2002
Mensajes: 746
Antigüedad: 22 años, 5 meses
Puntos: 6
se puede automatizar esta currada??

<% if Rs("sotano")="1" then %><input name="sotano" type="checkbox" id="sotano" value="1" checked><%else%><input name="sotano" type="checkbox" id="sotano" value="1"><%end if%>

<% if Rs("portero")="1" then %><input name="portero" type="checkbox" id="portero" value="1" checked><%else%><input name="portero" type="checkbox" id="portero" value="1" ><%end if%>

y asi con 20 checked mas

¿podria automatizarse esto que estoy haciendo?

Gracias.

Última edición por suntus; 08/10/2004 a las 13:23
  #2 (permalink)  
Antiguo 08/10/2004, 14:50
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
Cita:
Iniciado por orharo2003
De que se puede se puede, dependerá de tus habilidades, dentro de un bucle que lo repita hasta el total de campos [20].

mas o menos asi:

for inicio=1 to 20

if (Rs("sotano")=1)then
%>

<input name="<%=Rs("sotano")%>" type="checkbox" id="<%=Rs("sotano")%>" value="1" checked>

<%else%>
<input name="<%=Rs("sotano")%>" type="checkbox" id="<%=Rs("sotano")%>" value="1">
<%end if%>

'mueves tu rs.
next


Saludos.


Pues no, orharo2003, porque de esa manera vas a generar 20 veces lo mismo para el checkbox correspondiente a Rs("sotano")... pero en el ejemplo que puso también está Rs("portero") y deben faltar 18 campos más que no son ni sotano ni portero

Como para hacerlo en menos líneas se me ocurre algo así:

Código:
<%
Campos = "sotano,portero,campo3,...,campo20"
arrCampos = Split(Campos, ",")

For i = 0 To UBound(arrCampos)
%>
<input name="<% = arrCampos(i) %>" type="checkbox" id="<% = arrCampos(i) %>" value="1"<% if CStr(Rs(arrCampos(i))) = "1" then Response.Write " CHECKED"%>>
<% Next %>

Bueno, esas líneas deberían generar tus 20 checkboxes y ponerlos como checked si el valor del campo es 1
__________________
...___...
  #3 (permalink)  
Antiguo 08/10/2004, 14:53
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 3 meses
Puntos: 98
Y bueno...es viernes, a lo mejor el buen orharo ya anda como sho

Saluuuuuuuuud!
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #4 (permalink)  
Antiguo 08/10/2004, 14:53
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
Y ahora que lo leo mejor, creo que la única manera de hacerlo más chico es cambiar las 2 primeras líneas por:

Código:
arrCampos = Split(Campos, "sotano,portero,campo3,...,campo20")



EDIT: Saluuuuuuuuud!
__________________
...___...
  #5 (permalink)  
Antiguo 11/10/2004, 05:25
 
Fecha de Ingreso: noviembre-2002
Mensajes: 746
Antigüedad: 22 años, 5 meses
Puntos: 6
gracias a todos por responder.

Al Zuwaga, eso mismo era lo q necesitaba

un saludo a todos,
  #6 (permalink)  
Antiguo 11/10/2004, 08:40
 
Fecha de Ingreso: noviembre-2002
Mensajes: 746
Antigüedad: 22 años, 5 meses
Puntos: 6
con el codigo de al

<%
Campos = "sotano,portero,campo3,...,campo20"
arrCampos = Split(Campos, ",")

For i = 0 To UBound(arrCampos)
%>
<input name="<% = arrCampos(i) %>" type="checkbox" id="<% = arrCampos(i) %>" value="1"<% if CStr(Rs(arrCampos(i))) = "1" then Response.Write " CHECKED"%>>
<% Next %>

me da un problema

cuando hay un registro q no es 1 sino q esta vacio, me da este error
Error de Microsoft VBScript en tiempo de ejecución error '800a005e'

Uso no válido de Null: 'CStr'

que puede ser
gracias
  #7 (permalink)  
Antiguo 12/10/2004, 10:20
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
probá de cambiar toda la parte del if por esto:


<% tmp = Rs(arrCampos(i)) : if tmp = 1 then Response.Write " CHECKED"%>

o por...

<% if Rs(arrCampos(i)) = 1 then Response.Write " CHECKED"%>


O... no sé... jugá un poco con el código a ver qué sale.
Saludos


PD: ¿Aquí no había más mensajes?
__________________
...___...

Última edición por AlZuwaga; 12/10/2004 a las 10:21
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 23:26.