Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Select deriva Otro Select o Radio

Estas en el tema de Select deriva Otro Select o Radio en el foro de Frameworks JS en Foros del Web. Que tal bueno como dice el titulo estoy tratando de que apartir de un slect me deribe una dependiente pero que dependiendo de lo que ...
  #1 (permalink)  
Antiguo 06/09/2007, 10:54
Avatar de jahman  
Fecha de Ingreso: noviembre-2003
Ubicación: Oslo
Mensajes: 230
Antigüedad: 20 años, 5 meses
Puntos: 0
Select deriva Otro Select o Radio

Que tal bueno como dice el titulo estoy tratando de que apartir de un slect me deribe una dependiente pero que dependiendo de lo que selecciono me devolvera otro select o radio, me muestra los datos y hace lo que quiero el problema es que me mando un error

" El Objeto no acepta esta propiedad o metodo "

pero igual me hace el trabajo, aqui esta el codigo...ojla me puedan ayudar y orientarme. Gracias.

Código HTML:
function nuevoAjax() { 
   /* Crea el objeto AJAX. Esta funcion es generica para cualquier utilidad de este tipo, por 
   lo que se puede copiar tal como esta aqui */ 
   var xmlhttp=false; 
   try    { 
      // Creacion del objeto AJAX para navegadores no IE 
      xmlhttp=new ActiveXObject("Msxml2.XMLHTTP"); 
   } 
   catch(e)    { 
      try       { 
         // Creacion del objet AJAX para IE 
         xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
      } 
      catch(E) { xmlhttp=false; } 
   } 
   if (!xmlhttp && typeof XMLHttpRequest!='undefined') { xmlhttp=new XMLHttpRequest(); } 
   return xmlhttp; 
} 

function cargaContenido() { 
   	var valor=document.getElementById("select_0").options[document.getElementById("select_0").selectedIndex].value; 
   		if(valor==0) {      // Si el usuario eligio la opcion "Elige", no voy al servidor y pongo todo por defecto 
      		combo=document.getElementById("select_1"); 
      		combo.length=0; 
      		var nuevaOpcion=document.createElement("option"); nuevaOpcion.value=0; nuevaOpcion.innerHTML="-- Select --"; 
      		combo.appendChild(nuevaOpcion);   combo.disabled=true; 
   		} 
   		else { 
      		ajax=nuevoAjax();
      		ajax.open("GET", "CampoII.asp?CampoI="+valor, true); 
			ajax.onreadystatechange=function()	{ 
				if (valor != "Capacitacion" ) {
					if (ajax.readyState==1)  { 
					// Mientras carga elimino la opcion pongo una que dice "Cargando" 
						combo=0; 
						combo.length=0; 
						var nuevaOpcion=document.createElement("option"); nuevaOpcion.value=0; nuevaOpcion.innerHTML="Cargando..."; 
						combo.appendChild(nuevaOpcion); combo.disabled=true;    
					} 
					if (ajax.readyState==4) { 
						document.getElementById("fila_2").innerHTML=ajax.responseText; 
					}	
				}
				else{
					if (ajax.readyState==1)  { 
					// Mientras carga elimino la opcion pongo una que dice "Cargando" 
						combo=0; 
						combo.length=0; 
						var nuevaOpcion=document.createElement("radio"); nuevaOpcion.value=0; nuevaOpcion.innerHTML="Cargando..."; 
						combo.appendChild(nuevaOpcion); combo.disabled=true;    
					} 
					if (ajax.readyState==4) { 
						document.getElementById("fila_2").innerHTML=ajax.responseText; 
					}	
				}
			}
      	ajax.send(null); 		
   		} 	
} 
<body>
		<tr>
			<td  bgcolor="#FFCC00" class="txContenido"><strong>MotivoI</strong></td>
			<td id="fila_1">
			<select name="CampoI"  id="select_0"  onChange="cargaContenido()" class="txContenido">
				<option>-- Select --</option>
				<%
				Set SelectI = Server.CreateObject("ADODB.Recordset")
				SelectI.ActiveConnection = MM_acceso_STRING
				SelectI.Source = "SELECT DISTINCT CampoI FROM FeedbackArbol order by CampoI "
				SelectI.CursorType = 1
				SelectI.CursorLocation = 2
				SelectI.LockType = 1
				SelectI.Open()
				while NOT SelectI.EOF %>
					<option value="<%=SelectI.Fields("CampoI")%>"><%=SelectI.Fields("CampoI")%></option>
				<% SelectI.movenext()
				Wend%>
			</select>
			</td>
		</tr>
	<tr>
		<td bgcolor="#FFCC00" class="txContenido"><strong>MotivoII</strong></td>
   		<td id="fila_2">
		</td> 
  	</tr>
</body> 

Result.asp
Código HTML:
<%
If (Request.QueryString("CampoI") <> "") Then 
  CampoI = Request.QueryString("CampoI")
End If

%>
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<link href="../CSS/contenidos.css" rel="stylesheet" type="text/css">
</head>
<body>
<%
Set SelectII = Server.CreateObject("ADODB.Recordset")
SelectII.ActiveConnection = MM_acceso_STRING
SelectII.Source="SELECT DISTINCT CampoII FROM FeedbackArbol WHERe CampoI ='"& CampoI &"' ORDER BY CampoII"
SelectII.CursorType = 1
SelectII.CursorLocation = 2
SelectII.LockType = 1
SelectII.Open()
%>
<% IF CampoI <> "Capacitacion" THEN %>
   	<select id="select_1" name="CampoII" class="txContenido">
		<option>-- Select --</option>
    	<% while NOT SelectII.EOF %>
     	<option value="<%=SelectII.Fields("CampoII")%>"><%=SelectII.Fields("CampoII")%></option>
	 	<% SelectII.movenext()
	 	wend %>
	</select>
<% ELSE %>
	<input type="radio" id="select_1" name="CampoII">asd
<% END IF %> 
  #2 (permalink)  
Antiguo 06/09/2007, 11:59
Avatar de jahman  
Fecha de Ingreso: noviembre-2003
Ubicación: Oslo
Mensajes: 230
Antigüedad: 20 años, 5 meses
Puntos: 0
Re: Select deriva Otro Select o Radio

En fin ya lo solucione...
Gracias........
  #3 (permalink)  
Antiguo 08/02/2008, 10:24
 
Fecha de Ingreso: julio-2007
Mensajes: 14
Antigüedad: 16 años, 9 meses
Puntos: 0
Re: Select deriva Otro Select o Radio

hola q tal como estas?
estaba viendo tu sita q consegui mientras buscaba como solucionar mi problema
resulta q tengo el mismo problema q tenias tu con los selects anidados, de verdad que ya no se que hacer para solventarlo
este es mi codigo

function createRequest(){
var xmlhttp=false;
if(window.XMLHttpRequest){ // Mozilla, Safari,...
xmlhttp = new XMLHttpRequest();
if (xmlhttp.overrideMimeType) {
xmlhttp.overrideMimeType('text/xml');
}
}else if(window.ActiveXObject){ // IE
try{
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try{
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}catch(e){}
}
}
return xmlhttp;
}



function callback_aplicacion() {
var xmlhttp = createRequest();
if(!xmlhttp){
alert("No consegui el objeto XMLHttpObject");

}else{

Loadgif="Oficina <img src=\"imagenes/loader.gif\">";
document.getElementById("loader").innerHTML=Loadgi f;
var idEdo=document.getElementById("cmbEstado").value;
var url = "AjaxOficinaCTRL?idEdo=" + escape(idEdo);
xmlhttp.open("GET", url, true);
xmlhttp.onreadystatechange= function(){
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
var oficina = xmlhttp.responseXML.getElementsByTagName("oficina" );
lista="<select name=\"cmbOficina\" id=\"cmbOficina\" style=\"width:330px;\" >";
lista+="<option value=\"0\" selected=\"selected\">Seleccione</option>";
for(i=0;i<oficina.length;i++){ //.attributes[0].nodeValue
lista+=" <option value=\""+oficina[i].attributes[0].nodeValue+"\">"+oficina[i].childNodes[0].nodeValue+"</option>";
}
lista+="</select>";

document.getElementById("lista").innerHTML=lista;
Loadgif="Oficina";
document.getElementById("loader").innerHTML=Loadgi f;
}
}; // fin del function
xmlhttp.send(null);
} //fin del else

}// fin de la funcion callback_aplicacion

me dice que el objeto no acepta esta propiedad o metodo y se para en el momento q llama a la funcion
xmlhttp.onreadystatechange= function()
y se queda cragado el segundo select pero no termina en mozilla me funciona perfecto pero necesito que funcione en IE, no se si es algo de configuracion del explorador o es otra cosa
porfa si me puedes ayudar o cualquiera me puede ayudar se lo agradezco
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 01:28.