Hola Oye una preguntota vi tu respuesta a un problema similar e hice lo que mencionas en el pero resulta que me dice que form.combo.selectedindex es nulo o no es un objeto ya le ovi lo más que pude pero no funciona que puedo hacer. Por fa respóndeme con manzanas a penas empiezo a manejar esto y se me complica un poco si me hablan en términos elevados Gracias
1 respuesta
Respuesta de katixa
1
1
katixa, - Un año como programador en Visual Basic, Visual FoxPro, FoxPro 2
Con la información que das poca cosa puedo hacer... por favor intenta detallarme que tienes en el formulario, que pretendes hacer, como se llama cada objeto, etc... y así podre intentar ayudarte mejor.
Mi base esta en sql, uso frontpage para la página y asp para las ligas y conexión tengo una sola tabla que se llama tabla1 tiene varios campos pero solo ocupo 3 localización, id, nombre, lo que tengo que hacer es primero mandar un combo que me muestre las localizaciones lo hago con un query sql="select distinct loc froom tabla1" Luego lo ejecuto y lo mando al combo la idea es que la elegir una localización se muestren los id que pertenecen a el en otro combo para que en este ultimo se pueda seleccionar alguno de ellos pero esto no funciona el sql lo meto a un recordset, lo único que tengo en el formulario son los combos y un botón que manda los datos a otra página el código es este y se llama página en la que quiero los combos y datos a la que lo mando <HTML> <HEAD> <SCRIPT LANGUAGE="Javascript"> <!-- function refresca(loc) { parametros = ""; parametros += "?loc="+loc.cmbloc.selectedIndex; window.location.href="pagina.asp'+parametros; } --> </SCRIPT> </HEAD> <BODY> <P><B>Elige una localización para ver los productos pertenecientes a ella:</B> <P> <FORM NAME="Loc" METHOD="POST" ACTION="datos.asp"> <B>localizacion</B> <SELECT NAME="cmbloc" SIZE="1" OnChange="refresca(this)"> <% set oConn=Server.CreateObject("ADODB.Connection") set rs=Server.CreateObject("ADODB.Recordset") oConn.Open "Driver={SQL Server};server=srv;uid=User;Pwd=1233;database=tablas" SQL="SELECT distinct loc FROM tabla1" rs.Open SQL, oConn cuenta=1 while not rs.EOF if request.querystring("loc")<>"" then sSQL="SELECT * FROM tabla1" rss=oConn.execute(ssql) end if %> <OPTION VALUE="<%=rs.Fields("loc")%>" <% if cuenta=1 then%> SELECTED <%end if%>> <%=rs.Fields("loc")%></OPTION> <% rs.MoveNext cuenta=cuenta+1 wend rs.Close %> </SELECT> <P><B>id</B> <SELECT NAME="id" SIZE="1"> <%if request.querystring("loc")<>"" then do while not RSs.EOF Response.Write("<OPTION VALUE='" + RSs("id") + "'>") Response.Write(RSs("nombre") + "</OPTION>") RSs.MoveNext loop end if %> </SELECT> <P><INPUT TYPE="submit"> </FORM> </BODY> </HTML>
El código en ASP no lo he leído ya que el error que te daba era en el Combo, y quizás sea perder el tiempo. Prueba a poner lo siguiente: document.form1.cmbloc.options[document.form1.cmbloc.selectedIndex].value En la parte de parametros += "?loc="+loc.cmbloc.selectedIndex Es decir... parametros += "?loc=" + document.form1.cmbloc.options[document.form1.cmbloc.selectedIndex].value A ver si con eso se arregla... De todas formas recuerda que JavaScript es sensitivo a las mayúsculas y minúsculas si no me equivoco, por lo que asegurate de que si pones "cmbloc" en el formulario sea igual, y no "cmbLoc", por ejemplo. Suerte, ya me dirás... si no era eso y da otra cosa, entonces ya profundizaremos mirando el ASP :)