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

Cargar Paginas de Select Dinamicos llenados con Base de Datos

Estas en el tema de Cargar Paginas de Select Dinamicos llenados con Base de Datos en el foro de Frameworks JS en Foros del Web. Buenos Dias!!! Soy nuevo en el foro... Y la verdad me gustaria que alguien me ayudara a como abrir una pagina jsp de un select ...
  #1 (permalink)  
Antiguo 22/05/2008, 10:45
 
Fecha de Ingreso: mayo-2008
Mensajes: 5
Antigüedad: 16 años, 6 meses
Puntos: 0
Cargar Paginas de Select Dinamicos llenados con Base de Datos

Buenos Dias!!!

Soy nuevo en el foro...
Y la verdad me gustaria que alguien me ayudara a como abrir una pagina jsp de un select que lo lleno de mi base de datos.... Tengo 2 selects llenados con base de datos utilizo AJAX para que sean dependientees..

El problema es que mi ultimo select quiero cargar una pagina jsp en un div apartir de la opcion que seleccione en mi select...

Porfa alguien me puede ayudar!!!!
  #2 (permalink)  
Antiguo 22/05/2008, 11:38
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Cargar Paginas de Select Dinamicos llenados con Base de Datos

Hola gorda1985,

Deberías de publicar el código actual que usas, así sería mucho mas sencillo de identificar tu problema, aunque para lo que quieres hacer solo es cuestión de hacer un ultimo request al seleccionar tu ultimo select.

Saludos.
  #3 (permalink)  
Antiguo 22/05/2008, 12:07
 
Fecha de Ingreso: mayo-2008
Mensajes: 5
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: Cargar Paginas de Select Dinamicos llenados con Base de Datos

Primero que nada muchisimas gracias por contestar:

Mira este es mi codigo de mi primer select. Lo cargo en una pagina menuEquipo.jsp

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
<%@ page contentType="text/html;charset=windows-1252"%>
<%@ page import="SI.BD.Componente"%>
<%@ page import="java.sql.ResultSet"%>

<%
ResultSet rs=null;
try{
int i = 0;
Componente componente = null;
componente = new Componente();
rs = componente.mostrarCatalogo( 0, "" );
%>


<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Equipo</title>
</head>
<body>
<p align="center" size="5">
<font color="Navy" size="10">
Alta de Equipo
</font>
</p>
<form name="formulario" method="POST" id="formulario" align="center">
<table align="center">
<tr>
<td>
<label for="Componentes"> Que tipo de dispositivo: </label>
</td>
<td>
<select name="comboComponente" id="comboComponente" onchange="javascript:cargarCombo('equipo/menuEquipoDependiente.jsp?id_componente='+this.val ue,'comboComponente','div_subComponente')" class="select" style="width:150px">
<option>Selecciona</option>
<%while(rs.next()){%>
<option value="<%=rs.getString("id")%>">
<%=rs.getString("descripcion")%>
</option>
<%}%>
</select>
</td>
</tr>
<tr>
<td colspan="2">
<div id="div_subComponente" name="div_subComponente" align="center" widht="200" heigh="200"></div>
</td>
</tr>
</table>
</form>
</body>
</html>
<%
}
catch (Exception e){


}
finally {
try {
if ( rs != null ) { rs.close(); rs = null; }
}
catch (Exception e){
}
}
%>
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Cabe de recordar que lo estoy llenado con un ResulSet llamado rs. Esa es una consulta a mi base de datos para llenar ese combo llamado comboComponente.......

Mi segundo select lo lleno asi... En la pagina menuDependiente.jsp
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
<%@ page contentType="text/html;charset=windows-1252"%>
<%@ page import="SI.BD.Componente"%>
<%@ page import="java.sql.ResultSet"%>
<%
ResultSet rs1=null;

try
{
int i = 0;
Componente componente = null;
componente = new Componente();
rs1 = componente.mostrarSubc(request);
String id_componente=null;


%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>untitled</title>
</head>
<body>
<table align="center">
<tr>
<td>
SubComponentes:
</td>
<td colspan="2"> &nbsp;&nbsp;
<select name="subComponente" id="subComponente" class="select" style="width:150px">
<option>Selecciona</option>
<%while(rs1.next()){%>
<option value="<%=rs1.getString("id_subcomponente")%>">
<%=rs1.getString("subcomponente")%>
</option>
<%}%>
</select>
</td>
</tr>
</table>
</body>
</html>
<%
}
catch (Exception e){

}
finally {
try {
if ( rs1 != null ) { rs1.close(); rs1 = null; }
}
catch (Exception e){
}
}
%>
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Haz de cuenta que todo esto me sirve muy bien... Porque tengo una funcion que se llama cargarCombo en mi js osea en mi javaScript.... Todo me funciona muy bien aqui te pongo mi codigo de la funcion de Ajax....
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
<script type="text/javascript">
//<!--
var peticion = false;
var testPasado = false;
try
{
peticion = new XMLHttpRequest();
}
catch (trymicrosoft)
{
try
{
peticion = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (othermicrosoft)
{
try
{
peticion = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (failed)
{
peticion = false;
}
}
}

if (!peticion)
alert("ERROR AL INICIALIZAR!");

function cargarCombo (url, comboAnterior, element_id)
{
//Obtenemos el contenido del div
//donde se cargaran los resultados
var element = document.getElementById(element_id);
//Obtenemos el valor seleccionado del combo anterior
var valordepende = document.getElementById(comboAnterior)
var x = valordepende.value
//construimos la url definitiva
//pasando como parametro el valor seleccionado
var fragment_url = url+'&id='+x ;
element.innerHTML = '<img src="SI/imagenes/cargando.gif"/>'; //opcional
//abrimos la url
peticion.open("GET", fragment_url);
peticion.onreadystatechange = function()
{
if (peticion.readyState == 4)
{
//escribimos la respuesta
element.innerHTML = peticion.responseText;
}
}
peticion.send(null);
}
//-->
</script>
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Como te digo los menus dependientes me funciona bien........ cabe de recordar que mi select llamado subcomponente lo lleno con otra consulta a la base de datos....
El problema es que yo quiero que al seleccionar una opcion de mi segundo select llamado subcomponente.. Me abra una pagina jsp en un div yo se que va en el evento onchange pero nose como hacerlo....
mil gracias Te lo agradeceria mucho.... Estoy haciendo un sistema de Inventarios en jsp....
  #4 (permalink)  
Antiguo 22/05/2008, 12:56
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Cargar Paginas de Select Dinamicos llenados con Base de Datos

Hola gorda1985,

En tu segundo JSP (menuDependiente.jsp), puedes hacer algo así:
Código:
<select name="subComponente" id="subComponente" class="select" style="width:150px" onchange="cargaPagina(this.value);">
Luego haces una función javascript cargaPagina que lo que haga es con el id que ya le pasaste haga otro request AJAX, y ponga el resultado en otro div.

Saludos.
  #5 (permalink)  
Antiguo 22/05/2008, 14:14
 
Fecha de Ingreso: mayo-2008
Mensajes: 5
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: Cargar Paginas de Select Dinamicos llenados con Base de Datos

Muchisimas gracias ya solucione mi problema........ con lo que me dijiste...

Si no es mucha molestia, tengo un problema cuando cargo un formulario en jsp por ejemplo alta.jsp.. Lo que quiero es que los parametros que recibo del formulario se registren en 2 tablas ya lo hice pero no es la forma correcta... Mi pagina dice asi:

Numero de terminal: 54644
Activo: 5464564
Marca: Kingston
Status: Disponible
Tipo: DIMM
observaciones: Varias

Es solo un ejemplo yo tengo una tabla c_componente que es el catalogo de componentes... has de cuenta que todos esos registros que hace el usuario yo lo voy a registrar en una tabla componente pasando el id_c_componente para ver que es lo que esta registrano que componente.. Pero los campos de tipo y marca son diferentes a muchos componentes,, los otros digamos que son generales.. pero los que va a cambiar en la forma son esos 2 marca y tipo.. Y esos dos campos los tengo que insertar en otra tabla llamandose tabla memoria en la que tengo id tipo,marca,id_componente el ultimo es mi foreign key para unirla con la tabla componente...

Y asi me pasa con mas productos nose cual sea la forma mas conveniente de registrar datos de este formulario a 2 tablas nose si me explique, aqui te pongo el codigo de mi insert cuando inserto en cpu y en componente:

public boolean insertar(HttpServletRequest request)
{
PreparedStatement ps=null;
PreparedStatement ps1=null;
boolean ban=false;

try
{
int num_terminal=0, activo=0, num_serie=0, status=0, cpu_marca=0, id_padre=0, id=-1, id_c_componente=0, idCpu=0;
String tipo=null, modelo=null, color=null, observaciones=null, dependencia=null;
id = generaId();
idCpu = generaIdCpu();

id_c_componente = Integer.parseInt(request.getParameter("idComponent e"));
num_terminal = Integer.parseInt(request.getParameter("num_termina l"));
activo=Integer.parseInt(request.getParameter("acti vo"));
tipo=request.getParameter("tipo");
modelo=request.getParameter("modelo");
num_serie=Integer.parseInt(request.getParameter("n um_serie"));
observaciones=request.getParameter("observaciones" );
dependencia=request.getParameter("dependencia");
cpu_marca=Integer.parseInt(request.getParameter("m arca"));
status=Integer.parseInt(request.getParameter("stat us"));
color=request.getParameter("color");

String sql = null;
sql="INSERT INTO componente(id,id_c_componente,id_marca,num_activo, modelo,num_serie,id_status,observaciones,dependenc ia,id_padre,num_terminal) VALUES(?,?,?,?,?,?,?,?,?,?,?)";
ps=this.conn.prepareStatement(sql);
ps.setInt(1,id);
ps.setInt(2,id_c_componente);
ps.setInt(3,cpu_marca);
ps.setInt(4,activo);
ps.setString(5,modelo);
ps.setInt(6,num_serie);
ps.setInt(7,status);
ps.setString(8,observaciones);
ps.setString(9,dependencia);
ps.setInt(10,2);
ps.setInt(11,num_terminal);


String sql2=null;
sql2="INSERT INTO cpu(id,tipo,color,id_componente) VALUES (?,?,?,?)";
ps1=this.conn.prepareStatement(sql2);
ps1.setInt(1,idCpu);
ps1.setString(2,tipo);
ps1.setString(3,color);
ps1.setInt(4,id_c_componente);

if (ps.executeUpdate() > 0){
this.conn.commit();
ban = true;
}
if( ps != null){
ps.close();
ps = null;
}
if (ps1.executeUpdate() > 0){
this.conn.commit();
ban = true;
}
if( ps1 != null){
ps1.close();
ps1 = null;
}
}
catch(Exception e)
{
System.err.println("Componente.java");
e.printStackTrace();
}
finally
{
try
{
if (ps != null)
{
ps.close();
ps = null;
}
}
catch(Exception e)
{
System.err.println("Componente.java");
e.printStackTrace();
}
}
return ban;
}

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////

El problema de esto es que si yo selecciono por ejemplo otra opcion memoria en el caso de arriba como yo le digo al compilador que ahora el campo tipo y marca ya no son para cpu sino para la tabla de memoria.... Me podrias ayudar.... Vemos que el color es otro campo variable para cpu y ese campo debe ir solo en cpu... Claro en mi formulario si tengo color..
  #6 (permalink)  
Antiguo 22/05/2008, 14:24
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Cargar Paginas de Select Dinamicos llenados con Base de Datos

Hola gorda1985,

Te recomendaría que este problema lo publiques en el foro adecuado (el de JSP).

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 02:59.