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í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 %>