Foros del Web » Programando para Internet » Javascript »

crear new option

Estas en el tema de crear new option en el foro de Javascript en Foros del Web. todavia me pena esto: hay unos ejemplos de listas dependientes que no funcionan para netscape 4.78 al hacer esto: document.formulario.Objeto[0]= new option("<%=rs(campo%>"); donde objeto es ...
  #1 (permalink)  
Antiguo 06/02/2002, 09:39
Avatar de bakanzipp  
Fecha de Ingreso: noviembre-2001
Ubicación: santiago de shilli
Mensajes: 2.554
Antigüedad: 23 años
Puntos: 0
crear new option

todavia me pena esto:

hay unos ejemplos de listas dependientes que no funcionan para netscape 4.78 al hacer esto:

document.formulario.Objeto[0]= new option("<%=rs(campo%>");

donde objeto es un select que crea option y los llena mediante este codigo.

alguien conoce alguna otra forma de llenar un option en javascript,vbscript o lo que sea?...

otra pregunta:
tengo una variable oculta
<form>
<input=hidden name="variable" value="<%=rs("dato")">
</form>

como la llamo desde un script?
lo hice asi y no funciona:
var valor="<%=request("variable")&gt ;";

si alguien sabe se lo agradeceria.
thanks
  #2 (permalink)  
Antiguo 07/02/2002, 01:15
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 10 meses
Puntos: 38
Re: crear new option

Yo creo que te pueden ayudar mejor en el foro de ASP, pero de cualquier modo te puedo decir algo de sentido común en lo que puedo estar equivocado.

ASP amplia la sintaxis de HTML con tags adicionales, es decir, el servidor, al interpretas un .asp, va a revisar los tags, los que sean de ASP los resuelve, los que sean de HTML los deja pasar. Ahora bien, el juego de tags <script>...</script>, indica al interpretador de HTML (browser) que ese pedazo es tarea para JavaScript. No trata de interpretarlo.

Dado que ASP es una ampliación de HTML, cabe esperar el mismo comportamiento. O sea, los tags <% que coloques dentro de <script>...</script> no creo que los revise IIS.

Chequea esto con los expertos ASP.
  #3 (permalink)  
Antiguo 07/02/2002, 07:17
Avatar de bakanzipp  
Fecha de Ingreso: noviembre-2001
Ubicación: santiago de shilli
Mensajes: 2.554
Antigüedad: 23 años
Puntos: 0
Re: crear new option

con asp no tengo problemas..
mi gran problema es crear option variables dentro de una etiqueta javascript

ej:

<select name="nombre" onchange="funcion();">
<option value="1">eleccion1</option>
<option value="2">eleccion1</option>
</select>

<select name="variable"></select>

*****
<script>
function funcion()
{
si es opcion 1
crear un option para variable
sino
crear otros option para variable
}
</script>

la idea es crear option sin usar la propiedad new option porque no me funciona para netscape 4.78.

si alguien sabe
:P
  #4 (permalink)  
Antiguo 07/04/2003, 13:27
 
Fecha de Ingreso: noviembre-2002
Mensajes: 223
Antigüedad: 22 años
Puntos: 1
Hola Bakanzipp!!!!

Verás, yo estoy implementando una página asp con tres listas dependientes. Para ello me he bajado el código de asptutor (el que utiliza la librería optionex.js)

El caso es que no me funciona para Netscape y creo que es por lo que tú preguntabas. ¿Conseguiste arreglarlo de alguna manera?

Gracias de antemano.
  #5 (permalink)  
Antiguo 07/04/2003, 15:17
Avatar de bakanzipp  
Fecha de Ingreso: noviembre-2001
Ubicación: santiago de shilli
Mensajes: 2.554
Antigüedad: 23 años
Puntos: 0
waaa..este post es prehistorico..

siii..lo hice....pero hice tantas cosas ke la verdad cual de todas fue la que mejoro este problema...

te podria enviar mi pagina pero..uf..anda a entenderla
  #6 (permalink)  
Antiguo 07/04/2003, 15:19
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 22 años, 10 meses
Puntos: 17
Cita:
te podria enviar mi pagina pero..uf..anda a entenderla
Deberías documentar tus sitios y usar comentarios. Si lo hubieras hecho, yo podría aprender una cosa nueva
__________________
M a l d i t o F r i k i
  #7 (permalink)  
Antiguo 07/04/2003, 15:49
Avatar de MsTech.DotNet  
Fecha de Ingreso: marzo-2003
Ubicación: Maracay - Edo. Aragua
Mensajes: 605
Antigüedad: 21 años, 8 meses
Puntos: 0
Si es cierto lo que dice cain... e incluso hasta a uno mismo despues de 4 años cuando quiera utilizar un codigo o hacerle una modificacion, ni uno mismo lo va a entender... Por eso es bueno la documentacion o comentarios de tu sistema, o pagina web o cualquier cosa que estes desarrollando y aplicando programacion..

Saludos..
__________________
Ing. Javier Ugalde
Desarrollador de Aplicaciones Web / Windows
Director de Desarrollos Web
Ing. en Información
Email: [email protected]
Telf. Hab: +[58] - (243) - 232.02.06
Telf. Cel: +[58] - (414) - 455.26.80
  #8 (permalink)  
Antiguo 07/04/2003, 17:05
Avatar de bakanzipp  
Fecha de Ingreso: noviembre-2001
Ubicación: santiago de shilli
Mensajes: 2.554
Antigüedad: 23 años
Puntos: 0

ok..ok...acepto las criticas...

de verdad logre hacer funcionar el tema de los combos en netscape, llegue a un punto en que me di por vencido e al hacer un cambio me di cuenta que siiiiiii los mostraba..

al select le di las propiedades de length y widhth con valores y magicamente aparecieron los options...pero estoy seguro que ese no fue la clave para mostrarlos...

o sea...hice 10 mil cosas con el codigo...y veia que ninguna surgia efecto...porke estaba escondido los options...

la verdad en ese momento era dificil saber cual fue la clave...y creo que sigo con la misma interrogante
  #9 (permalink)  
Antiguo 08/04/2003, 03:26
 
Fecha de Ingreso: noviembre-2002
Mensajes: 223
Antigüedad: 22 años
Puntos: 1
quizá podrías ponernos tu página, a ver si entre todos conseguimos averiguarlo.

Creo que es un tema que lleva pendiente desde hace tiempo por el foro, y ya va siendo hora de que entre todos pongamos un código como Dios manda

Que os parece ???, a ver si con la página de bakanzipp conseguimos aclararnos !!!!
  #10 (permalink)  
Antiguo 08/04/2003, 07:05
Avatar de bakanzipp  
Fecha de Ingreso: noviembre-2001
Ubicación: santiago de shilli
Mensajes: 2.554
Antigüedad: 23 años
Puntos: 0
ok....disculpen por no revisar el codigo...pero el trabajo me tiene de cabeza...

lo que si puede ser una pista (lo que creo) es el uso de un flag que hace un barrido de la primera lista cuando la limpia y el width y el heigth del segundo combo.

Código:
<tr><td>
<select name="Banco" size="1" OnChange="ComponerLista(document.forms.frmTransf.Banco[selectedIndex].value,false);">
<OPTION value=0>Seleccione Banco</OPTION>
<%Set rs = objTransferencias.Bancos()
while not rs.eof%>
<OPTION VALUE="<%=rs.Fields("ID_Banco")%>"<%if session("volver")=1 then%><%if rs.Fields("ID_Banco")=cint(session("codigobanco")) then %>SELECTED<%end if%><%end if%>>
<%=rs.Fields("strDescr")%></OPTION>
<%rs.MoveNext
wend
rs.Close%>
&nbsp;&nbsp;
</select>
</td></tr>
<tr><td>
<SELECT NAME="TipoCta" width=220 height=200>&nbsp;&nbsp;</font></SELECT>
</td></tr>

<SCRIPT LANGUAGE="Javascript">
 function Tupla ( campo1, campo2)
 {
	
  this.campo1 = campo1;
  this.campo2 = campo2;
  
 }
 <%
set ms = objTransferencias.Bancos()
	
cat="basura"
while not ms.EOF 
if cat<>ms.Fields("ID_Banco") then
cuenta=ms.Fields("ID_Banco")
%>
var arreglo<%=cuenta%> = new Array();
<%end if%>

<%if cuenta="28" then%>
arreglo<%=cuenta%>[0]=new Tupla("<%=ms.Fields("strCCACtaCte")%>","");
<%if ms.fields("strCCACtaCte")="S" then%>
arreglo<%=cuenta%>[0].campo1="Cuenta Corriente"
<%else%>
arreglo<%=cuenta%>[0].campo1=""
<%end if%>	
<%else%>
arreglo<%=cuenta%>[0]=new Tupla("<%=ms.Fields("strCCACtaCte")%><%=ms.Fields("strCCACtaVista")%>","<%=ms.Fields("strCCACtaAhorro")%>");
<%if ms.fields("strCCACtaCte")="S" and ms.fields("strCCACtaVista")="S" then%>
arreglo<%=cuenta%>[0].campo1="Cuenta Corriente - Cuenta Vista"
<%end if%>
<%if ms.fields("strCCACtaCte")="S" and ms.fields("strCCACtaVista")="N" then%>
arreglo<%=cuenta%>[0].campo1="Cuenta Corriente"
<%end if%>
<%if ms.fields("strCCACtaCte")="N" and ms.fields("strCCACtaVista")="S" then%>
arreglo<%=cuenta%>[0].campo1="Cuenta Vista"
<%end if%>
	
<%if ms.fields("strCCACtaAhorro")="S" then%>
arreglo<%=cuenta%>[0].campo2="Cuenta Ahorro"
<%else%>
arreglo<%=cuenta%>[0].campo2=""
<%end if
end if
ms.MoveNext
wend
%>
<%cuenta=0%>
var arreglo<%=cuenta%> = new Array();
arreglo<%=cuenta%>[0]=new Tupla("NN","N");
arreglo<%=cuenta%>[0].campo1="";
arreglo<%=cuenta%>[0].campo2="";
<%ms.Close
set ms=nothing
%>
	
function ComponerLista ( array,flag ) 
{
	
var Banco=array;
BorrarLista();
array = eval("arreglo" + array);
var modifica;
var Cuenta;
var k=0;
var OpcionCte,OpcionAhorro;

OpcionCte=0;
OpcionAhorro=0;

var optionObj1 = new Option("Seleccione Tipo de Cuenta");
 document.frmTransf.TipoCta.options[k] = optionObj1;
 k=k+1;

if (array[0].campo1!="")
{
 var optionObj2 = new Option(array[0].campo1);
 document.frmTransf.TipoCta.options[k] = optionObj2;
 k=k+1;
 OpcionCte=1;
}
if (array[0].campo2!="") 
{ 
 var optionObj3 = new Option(array[0].campo2);
 document.frmTransf.TipoCta.options[k] = optionObj3;
 k=k+1;
 OpcionAhorro=1;
}
Cuenta="<%=session("TipoCta")%>";
modifica="<%=session("volver")%>";
if ((modifica==1) && (flag==true))
{
 if ((OpcionAhorro=="0") && (OpcionCte=="0"))
 {
  document.frmTransf.TipoCta.options[0].selected = true;
  } 
 if (((Cuenta=="Cuenta Corriente")||(Cuenta=="Cuenta Corriente - Cuenta Vista")) && (OpcionCte=="1"))
 {
  document.frmTransf.TipoCta.options[1].selected = true;
  OpcionCte=0;
 } 
 if ((Cuenta=="Cuenta Ahorro") && (OpcionAhorro=="1"))
 {
    document.frmTransf.TipoCta.options[2].selected = true;
    OpcionAhorro=0;
 }
}
else
 {//se agrego ********************
  if (k==2) 
    document.frmTransf.TipoCta.options[1].selected = true;
  else 
    document.frmTransf.TipoCta.options[0].selected = true;
 } //*****************************
 }  
	
function BorrarLista() 
{
 document.frmTransf.TipoCta.length=0;
}
function Cargar()
{
 var Banco="<%=session("codigoBanco")%>";
 var flag;
 
 if (Banco!="")
  {
   flag=true;
   ComponerLista (Banco,flag);  
  }
 else
  {
   if (document.frmTransf.Banco.value!=0)  
    {
      flag=true
      ComponerLista (document.frmTransf.Banco.value,flag);  
    }  
   else
    {
      flag=false;
      ComponerLista (0,flag);  
    }
      
  }
 } 

</script>
Bueno esta bastante diferente al original...espero que sea digerible
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:29.