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

Ayuda con formularios

Estas en el tema de Ayuda con formularios en el foro de ASP Clásico en Foros del Web. Hola, necesito ayuda con un formulario que contiene un combo (select). El tema es que voy declarando combos adentro de un ciclo y eso me ...
  #1 (permalink)  
Antiguo 25/09/2003, 17:25
 
Fecha de Ingreso: septiembre-2003
Mensajes: 6
Antigüedad: 21 años, 8 meses
Puntos: 0
Ayuda con formularios

Hola, necesito ayuda con un formulario que contiene un combo (select).
El tema es que voy declarando combos adentro de un ciclo y eso me esta generando problemas, pero tengo que hacerlo asi porque creo un combo para cada producto diferente que esta cargado.
Lo que necesito que haga es muy simple pero por un problema de estructura del codigo no lo puedo hacer funcionar.
Aqui esta el codigo donde declaro el combo:

<%
sub mostrarComboCantidad(intCantidadExistente)
%>
<TD><select name="comboCantidades" onChange=cambiarCantidad()>
<option value=1> 1 </option>
<option value=2>2</option>
<option value=3>3</option>
<option value=4>4</option>
<option value=5>5</option>
<option value=6>6</option>
<option value=7>7</option>
<option value=8>8</option>
<option value=9>9</option>
<option value=10>10</option>
<option value=11>11</option>
<option value=12>12</option>
<option value=13>13</option>
<option value=14>14</option>
<option value=15>15</option>
<option value=16>16</option>
<option value=17>17</option>
<option value=18>18</option>
<option value=19>19</option>
<option value=20>20</option>
<SCRIPT LANGUAGE="JavaScript">
document.frmCantidades.comboCantidades.options.sel ectedIndex=intCantidadExistente;
</SCRIPT>
</select></TD>
<%
end sub
%>

Este sub se encarga de mostrar un combo y dejar seleccionada la cantidad que le pasan como parametro.

Aqui es donde declaro el formulario:

Response.write(" <form name=frmCantidades>")
Response.write("<INPUT TYPE=hidden NAME=cambioCantidad VALUE=SinCambios>")
for each intCodigo in dicCarrito
strSql = armarSql("*","productos","codprod",intCodigo)
set objRs = objConexion.execute(strSql)
objTabla = objRs.getrows
objRs.close
intPrecioTotal = intPrecioTotal + mostrarProducto(objTabla)
strSql = armarSql("*","autores","codautor",objTabla(2,0))
next
response.write(" </form>")

Dentro de la funcion mostrarProducto llamo al sub mostrarComboCantidad de esta manera

mostrarComboCantidad(dicCarrito(registro(0,0)))

siendo dicCarrito(registro(0,0)) la cantidad que tiene almacenada

por otro lado esta la funcion javascript del lado del cliente :

<SCRIPT LANGUAGE="JavaScript">
function cambiarCantidad(){
document.frmCantidades.cambioCantidad.value="HuboC ambios";
document.frmCantidades.submit();
}
</SCRIPT>

que le llama en el onChange del combo para hacer el submit y tomar de los campos hidden los datos a modificar.

Por ahora todo esto anda perfecto pero solo para el primer combo.
Cuando agrego mas productos (mas combos) no funciona, supongo que es un tema de declaracion de los select.

SE QUE ES UN QUILOMBO TODO ESTO PERO ME AYUDARIA MUCHO SI ALGUIEN ME DIERA ALGUNA SOLUCION RELATIVAMENTE RAPIDO.

Desde ya muchisimas gracias.

Sebastian de Argentina.
Saludos
  #2 (permalink)  
Antiguo 01/10/2003, 17:04
 
Fecha de Ingreso: octubre-2003
Ubicación: Hermosillo, Sonora
Mensajes: 75
Antigüedad: 21 años, 7 meses
Puntos: 0
Lo que pasa es que por el lado del cliente debes manejar el objeto select como arreglo, por que por lo que ví, todos tus select tienen el mismo nombre 'comboCantidades', entonces, si siempre va a ver mas de un select llamado comboCantidades, en JScript debes con índices. De alguna manera pasarle a la función el índice del select o combo que está activando el onchange, necesitaría ver todo el código para mas o menos darme una idea.
  #3 (permalink)  
Antiguo 02/10/2003, 08:17
 
Fecha de Ingreso: septiembre-2003
Mensajes: 6
Antigüedad: 21 años, 8 meses
Puntos: 0
Muchas gracias por la respuesta, ya solucione el problema y venia por lo que vos decis.
Tenia muchos select con el mismo nombre entonces entonces solo me permitia manejar el primero, el resto como si no existieran.
Lo que hice fue agregarle un numero unico al final del nombre (comboCantidadesXX) y empezo a funcionar todo perfectamente.
Nuevamente gracias y saludos
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 08:52.