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

pasar variables de un vector a asp

Estas en el tema de pasar variables de un vector a asp en el foro de ASP Clásico en Foros del Web. Hola foreros, otra vez yo, Les cuento, tengo un form de donde mando los checkbox marcados a una función javascript para validar los que esten ...
  #1 (permalink)  
Antiguo 06/04/2006, 16:31
 
Fecha de Ingreso: octubre-2005
Mensajes: 85
Antigüedad: 18 años, 8 meses
Puntos: 0
pasar variables de un vector a asp

Hola foreros, otra vez yo,

Les cuento, tengo un form de donde mando los checkbox marcados a una función javascript para validar los que esten checked y que son los que me sirven para luego cambiarlos de estado a facturado, esta es mi función javascript:

Código:
<script language="JavaScript" type="text/JavaScript">
<!--
function facturar() { 

var resto = new Array();
var c = 0;
for (i = 0; i < document.form2.elements.length; i++){ 
if(document.form2.elements[i].type=="checkbox" && document.form2.elements[i].checked){
resto[c]=document.form2.elements[i].value;
c++;
}
}
for(i=0;i<resto.length; i++)
alert(resto[i]);

   window.open("factpn_3.asp?lista="+resto,tarjet="_top")*/

}

//-->
</script>
Pero no se como enviar resto[i] y como recibir en factpn_3.asp todos los valores para poder trabajar con ellos.

Por favor una ayudita

Pilly
  #2 (permalink)  
Antiguo 06/04/2006, 16:47
Avatar de a n g e l u s  
Fecha de Ingreso: enero-2006
Ubicación: Chile
Mensajes: 237
Antigüedad: 18 años, 5 meses
Puntos: 1
HOLA PILY PUEDES HACER LO SIGUIENTE:

EN TU FORMULARIO PUEDES AGREGAR UN
<input type="text" name="factaceptadas" readonly>

entonces en tu codigo colocas lo siguiente


<script language="JavaScript" type="text/JavaScript">
<!--
function facturar() {

var resto = new Array();
var paso

var c = 0;
for (i = 0; i < document.form2.elements.length; i++){
if(document.form2.elements[i].type=="checkbox" && document.form2.elements[i].checked){
resto[c]=document.form2.elements[i].value;
c++;
}
}
for(i=0;i<resto.length; i++){
//alert(resto[i]);
paso = paso+","+resto[i]

}
document.form2.factaceptadas.value = paso;

// window.open("factpn_3.asp?lista="+resto,tarjet="_t op")*/

}

//-->
</script>

cual es la idea que los valores que contenga el arreglo resto sean agrupados y traspasados a tu formulario, y luego desde tu formulario envias los datos

ahora para que encaje en ASP tu pregunta.

recuperas los datos de esta manera

miarreglo = split(request("factaceptadas"),",")

y empiezas a recorrer el vector desde el nivel 1 ya que el 0 no contiene nada.
__________________
Atte,
A n g e l u s
Concepción - Chile
más vale respuestas bien pensadas, que 7000 post
  #3 (permalink)  
Antiguo 06/04/2006, 17:10
 
Fecha de Ingreso: octubre-2005
Mensajes: 85
Antigüedad: 18 años, 8 meses
Puntos: 0
Muchas gracias a n g e l u s
Voy a probar y te cuento..

Gracias nuevamente...
  #4 (permalink)  
Antiguo 07/04/2006, 07:53
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 20 años, 7 meses
Puntos: 27
Cita:
miarreglo = split(request("factaceptadas"),",")
no necesitar partir el vector.

como solo le cambiaras el estado puedes hacer un simple

Cita:
where id in(& miarreglo &)
puedes usar in() o not in()


puedes dejar de usar tu funcion java

y mandar las variables con el simple form y ahi te apareceran los checkbox seleccionados lelgaran como 1,3,5,6,7
__________________
JuanRa Pérez
San Salvador, El Salvador
  #5 (permalink)  
Antiguo 07/04/2006, 08:39
 
Fecha de Ingreso: octubre-2005
Mensajes: 85
Antigüedad: 18 años, 8 meses
Puntos: 0
Gracias chicos por las recomendaciones, pero lo que pretendo es enviar los valores a través de la funcion Javascript y recibirla en mi otra página asp, porque el form lo estoy utilizando para que el cliente pueda sacar el reporte de los clientes que tiene en un listado asi:

Código:
<form name="form2" method="post" action="report_hojaruta_pn_fact_1.asp" onSubmit="MM_validateForm('buscarc','','R');return document.MM_returnValue">
        <table width="388" border="0" align="center" cellpadding="0" cellspacing="0">
          <tr>
            <td width="366"><div align="center" class="formtxt">
                <input name="acce2" type="hidden" id="acce4" value="<% Response.Write acce  %>">
                Seleccione del:
                <select name="buscarc" class="cmb" id="buscarc">
				
                  <option value="">---Listado---</option>
                  <%			  
				 
				  DO WHILE NOT  Tabla.Eof
					 apellidos = Tabla ("pn_apellidos")
					 nombres = Tabla ("pn_nombres")
					 codigo = Tabla ("pn_no_doc_identidad")
					 If (buscarc = codigo) Then
					  Response.Write "<option value='"&codigo&"' selected>"&nombres&" "&apellidos&"</option>"
					 else
					  Response.Write "<option value='"&codigo&"'>"&nombres&" "&apellidos&"</option>"
					 end If
					 Tabla.MoveNext
				  LOOP
				  
				  %>
                </select>
				<input name="opc" type="hidden" id="opc" value="1">
        		 <input class="botones" type="submit" name="Submit23" value="Buscar">
De que otra forma puedo hacer???
  #6 (permalink)  
Antiguo 07/04/2006, 10:32
Avatar de a n g e l u s  
Fecha de Ingreso: enero-2006
Ubicación: Chile
Mensajes: 237
Antigüedad: 18 años, 5 meses
Puntos: 1
HOLA Pilly, la verdad que yo no entendi tu idea. puedes entregar el codigo completo y explicarte un poco mas para poder ayudar. ;P
__________________
Atte,
A n g e l u s
Concepción - Chile
más vale respuestas bien pensadas, que 7000 post
  #7 (permalink)  
Antiguo 07/04/2006, 12:07
 
Fecha de Ingreso: octubre-2005
Mensajes: 85
Antigüedad: 18 años, 8 meses
Puntos: 0
Es largo espero no te de pereza leer todo,
Ahí te va:
Muchas gracias por tu ayuda, solo necesito que cuando se llame a la funcion javascript facturar() esta envie a la página factpn_3.asp los valores que tengo en resto[i].



Código:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Gonzalez Peñaherrera</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="template_css.css" rel="stylesheet" type="text/css">
<link href="admin_login.css" rel="stylesheet" type="text/css"></head>
<script language="JavaScript" type="text/JavaScript">
<!--
function facturar() { 

var resto = new Array();

var c = 0;
for (i = 0; i < document.form2.elements.length; i++){ 
if(document.form2.elements[i].type=="checkbox" && document.form2.elements[i].checked){
resto[c]=document.form2.elements[i].value;
c++;
}
}
for(i=0;i<resto.length; i++)
//alert(resto[i]);


   window.open("factpn_3.asp?lista="+resto,tarjet="_top")*/

}

//-->
</script>



<body background="fondo_int.gif">
<%
	session.lcid=1053
    buscarc=Request("buscarc") 
	opc=Request("opc")
	facturadoll=Request("facturado")
		
    Dim Conn, Tabla
	Set Conn = Server.CreateObject("ADODB.Connection") 	
	Conn.Open "DSN=gp"
	Set Tabla=Server.CreateObject("ADODB.recordset")	
	Temp = "Select * from tbl_persona_natural order by pn_nombres ASC"
    Tabla.Open Temp, Conn 
	
%>

<p>&nbsp;</p>
<p>&nbsp;</p><p>&nbsp;</p> 
	<table width="395" border="1" align="center" cellpadding="0" cellspacing="0" class="adminform">
  <tr>
    <td><table width="200" height="150" border="0" align="center" cellpadding="0" cellspacing="0">
              <tr> 
                <td >
				<div align="center"><IMG src="h_gp.gif" width="198" height="130" border="0" alt=""></div>
				<br>
				<div align="center" class="menuline"> <strong>Consulta de Rutas por Facturar - Persona Natural</strong></div></td>
              </tr>
              <tr> 
                <td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0" >
                    <tr> 
                <td align="center"><br>
                        <img src="images/addedit.png" width="48" height="48" border="0"> 
                      </td>
              </tr>
           </table>
		   
		   </td>
           </tr>
              
            </table> 
						
            <table width="200" border="0" align="center" cellpadding="0" cellspacing="0">
              <tr> 
                
                <td>
				
				<form name="form1" method="post" action="rutas_facturacion.asp">
                    <input name="acce" type="hidden" id="acce" value="ing123">
                    <div align="center"> 
                      <input class="botones2" type="submit" name="Submit32" value="Menú Facturación">
                    </div>
                  </form></td>
				  <td>
				
				<form name="form3" method="post" action="verif2.asp">
                    <input name="ops" type="hidden" id="ops2" value="43">
                    <div align="center"> 
                      <input class="botones2" type="submit" name="Submit32" value="Menú Principal">
                    </div>
                  </form></td>
               
              </tr>
            </table>
			
			<td ><div align="center" class="menuline"><strong>Consulta de Rutas por Facturar Persona Natural</strong></div>
			<form name="form2" method="post" action="report_hojaruta_pn_fact_1.asp" onSubmit="MM_validateForm('buscarc','','R');return document.MM_returnValue">
        <table width="388" border="0" align="center" cellpadding="0" cellspacing="0">
          <tr>
            <td width="366"><div align="center" class="formtxt">
                <input name="acce2" type="hidden" id="acce4" value="<% Response.Write acce  %>">
                Seleccione del:
                <select name="buscarc" class="cmb" id="buscarc">
				
                  <option value="">---Listado---</option>
                  <%			  
				 
				  DO WHILE NOT  Tabla.Eof
					 apellidos = Tabla ("pn_apellidos")
					 nombres = Tabla ("pn_nombres")
					 codigo = Tabla ("pn_no_doc_identidad")
					 If (buscarc = codigo) Then
					  Response.Write "<option value='"&codigo&"' selected>"&nombres&" "&apellidos&"</option>"
					 else
					  Response.Write "<option value='"&codigo&"'>"&nombres&" "&apellidos&"</option>"
					 end If
					 Tabla.MoveNext
				  LOOP
				  
				  %>
                </select>
				<input name="opc" type="hidden" id="opc" value="1">
        		 <input class="botones" type="submit" name="Submit23" value="Buscar">
            </div></td>
          </tr>
          <tr>
            <td class="cmb"> 
              <%
			    If (opc=1) Then
							
				cont=0
				Set ConexionBD = Server.CreateObject("ADOdb.Connection") 
				ConexionBD.Open "DSN=gp" 
				Set Familias = ConexionBD.Execute("select * from tbl_persona_natural WHERE pn_no_doc_identidad = '" & buscarc & "'") 
    			If Not Familias.EOF Then 
				Response.Write("<br>")
				Response.Write("<TABLE Border='0' align='center' width='366'>")
				Response.Write("<TR><TD>") 	
       			Response.Write("<div class='formtxt'>Apellidos : " & Familias("pn_apellidos") & "<BR>" & " </div>")
				Response.Write("<div class='formtxt'>Nombres: " & Familias("pn_nombres") & "<BR>" & " </div>")   
       			Response.Write("<div class='formtxt'>I.D: " & Familias("pn_no_doc_identidad") & "<BR>" & " </div>")                 
				Response.Write("</TD><TD>") 
          		Response.Write("</TABLE>")
				Response.Write("<br>") 
			    
				End If 
				
				
				 
    			Set Articulos = ConexionBD.Execute("select * from tbl_pn_hoja_ruta WHERE pn_no_doc_identidad = '" & buscarc & "' and facturado like 'No' order by fecha ASC") 
					
    			If Articulos.EOF Then 
					Response.Write("<br>")
       				Response.Write("<p class='formtxtmsg'>No hay rutas registradas</p>") 
    			Else 
       				Articulos.MoveFirst 
				%>
					
				<div class="login">
				<div class="form-block"> 
				
       			<%Do While Not Articulos.EOF %>
				
          		<div>Fecha: <%=Articulos("fecha")%> </div>
				<div>Abogado: <%=Articulos("id_abogado")%> </div>
				<div>Tramite: <%=Articulos("tramite") %> </div>		
				<div>Horas:   <%=Articulos("no_horas") %> </div>
          		<div>Minutos: <%=Articulos("no_minutos") %> </div>
				<div>Facturado: <%=Articulos("facturado") %></div>
                      <% idr=Articulos("id")%>

                      <% 
				  

				  if  (Articulos("facturado")="Si") then
				        factv="No"
				  Else
				        factv="Si"
				  End If
				  opcm=1
				  Response.Write("<br>")
				  cont=cont + 1 
				  
	
				%>
                    </p>
                <table width="330" border="2">
                <td width="90"> 
				
                         <div align="center" class="error">	Facturar:
				         <input name="lista[<%=cont%>]" type="checkbox" value="<%=idr%>" >	
						</div>	
				<td width="20">						

				</td>	
          		</tr>
				</table>


				<%
				totalh=Articulos("no_horas")+totalh
                totalm=Articulos("no_minutos")+totalm
					If(totalm>=60) Then
						residuo=Int(totalm/60)
						var=totalm Mod 60
						
					Else
						var=totalm
						
					End If
          			Articulos.MoveNext 
					Response.Write("<hr>")
       			Loop 
                 totalh=totalh+residuo                            
				Response.Write("<div align='left' >Total de Horas: " & totalh & "<br>"  & " </div>"  & "Total de minutos: " & var) 
				%>
				
				</div> 
				</div>				
        		
				<%
    			End If 
				opcm=2
				
				%>
				<table width="330" border="2"  align="center">
			          <td width="178"> 
                          
                          <input type="button" name="Submit2" value="Facturar todo" onClick="facturar()"></td>
						  					
          		</tr>
				</table>
				<%
				End If
				
				%>
                
              </td>
          </tr>
        </table>
		<p>&nbsp;</p>
        <div align="center"><input class="botones" type="submit" name="Submit" value="Imprimir" onClick="javascript:print()"></div>
    </form></td>
  </tr>
  
</table>

</body>
</html>
  #8 (permalink)  
Antiguo 07/04/2006, 17:05
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
No hagas eso, solo mándalos a todos los checkbox ponles el mismo nombre y en el asp haces un split y listo

muy sencillo y rápido
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 18:24.