Foros del Web » Programando para Internet » Javascript »

Creacion de elementos dinamicos

Estas en el tema de Creacion de elementos dinamicos en el foro de Javascript en Foros del Web. Hola tengo un problema que no se por donde meterle mano, tengo una pagina en el cual secrean elementos dinamicos conforme se valla necesitando campos ...
  #1 (permalink)  
Antiguo 18/12/2008, 05:29
 
Fecha de Ingreso: diciembre-2008
Mensajes: 1
Antigüedad: 15 años, 4 meses
Puntos: 0
Exclamación Creacion de elementos dinamicos

Hola tengo un problema que no se por donde meterle mano, tengo una pagina en el cual secrean elementos dinamicos conforme se valla necesitando campos para introducir productos cada linea lo compone un listbox+ input_text+input_image+input_image.

La cosa es que todo va bien, pero cuando pulso el primer input_image el cual debe abrir una ventana nueva para seleccionar un dato filtrado por la seleecion hecha del listbox, toda la estructura dinamica se viene abajo(se esfuma).

Pruebas realizadas:
ACCION=He probado a quitar el evento onclick del dicho input_image, RESULTADO=no me ejecuta la funcion, pero se esfuma la estructura dinamica

ACCION=he probado a poner solamente el codigo del FIELSET quitando todos las demas etiquetas y quitando todo el php por valores asignados manualmente.
RESULTADO=todo va genial.

¿Alguna explicacion de lo que puede pasar?

MICODIGO INTEGRO
************************************************** ***************
<?php
session_start();

if ($_POST['FinSesion']=="fin")
session_destroy();

//incluir la libreria de funciones
include("../lib/funciones.php");
include("../lib/gestion_productos.php");



echo'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> Autorización para administrar SIP </TITLE>
<LINK href="../css/estilo_log.css" rel="stylesheet" type="text/css">
<LINK href="../css/contenido.css" rel="stylesheet" type="text/css">
<LINK href="../css/headmenu.css" rel="stylesheet" type="text/css">
<script language="JavaScript">
num=0;
function crear(obj) {
num++;
fi = document.getElementById("fiel");
contenedor = document.createElement("div");
contenedor.id = "div"+num;
fi.insertBefore(contenedor,obj); ';

$SQL="SELECT idaparatos, aparato FROM aparatos";
$query = db_query ($SQL);
print'

ele = document.createElement("select");
ele.onchange= function () {seleccion(this.name)};
ele.id= "select"+num;
ele.name = "select"+num;
opt = document.createElement("option");
opt.value = "0";
opt.innerHTML = "";
ele.appendChild(opt); ';
while ($row = mysql_fetch_array($query)) {
echo'
opt = document.createElement("option");
opt.value = "'.$row[0].'";
opt.innerHTML = "'.$row[1].'";
ele.appendChild(opt); ';
}
print'
contenedor.appendChild(ele);

// crea en campo de texto
ele = document.createElement("input");
ele.type = "text";
ele.name = "textbox"+num;
ele.id = "textbox"+num;
ele.size= "15";
ele.maxlength="15";
contenedor.appendChild(ele);

//crea boton buscar aparato (lupa) <-Este es el boton que me esta dando problemas
ele = document.createElement("input");
ele.type = "image";
ele.src= "../image/gestion/search.gif";
ele.name = "buscar"+num;
ele.id = "buscar"+num;
ele.indice = num;
ele.alt ="Mostar Aparatos";
ele.onclick = function () {buscar_aparato(this.indice)}
contenedor.appendChild(ele);

//crea boton borrar (X)
ele = document.createElement("input");
ele.type = "image";
ele.src= "../image/gestion/kill.gif";
ele.name = "borrar"+num;
ele.id = "borrar"+num;
ele.alt= "Borrar Linea";
ele.onclick = function () {borrar(this)}
contenedor.appendChild(ele);
}
function borrar(obj) {
var TagPadre =obj.parentElement;
fi = document.getElementById("fiel");
fi.removeChild(document.getElementById(TagPadre.id ));
}
function buscar_proveedor(){
open("Popup_tarifa.php");
}
var aparato="";
function seleccion(obj){
aparato=document.getElementById(obj).value;
}
function buscar_aparato(indice){
if (aparato){
open("Popup_impresoras.php?aparato=" + aparato + "&n_objeto=textbox" + indice);}
else
alert("Seleccione una opción antes");
}

</script>
</HEAD>
<BODY class="quitarmargen_azul">
<table width="100%" heigh="100%" CLASS="tablecabecera" >
<TR height="59" >
<th class="relleno_azul">Nuevo Producto</Th>
</TR>
<TR><TD>
<form method="post" enctype="multipart/form-data" name="producto_nuevo">
<table width="100%" >
<tr>
<td align="left" valign="top" width="250">

<table class="gestion_table">


<tr><td align="right">Código PTC</td>
<td><input name="codptctxt" type="text" size="15" maxlength="15" /></td>
</tr>
<tr><td align="right">Código OEM</td>
<td><input name="codoemtxt" type="text" size="15" maxlength="15" /></td>
</tr>
<tr><td align="right">Código Proveedor</td>
<td><input name="codprovtxt" type="text" size="15" maxlength="15" />&nbsp;<img style="cursor:hand" src="../image/gestion/search.gif" border=0 width=20 height=20 alt="Buscar código de proveedor" onClick="buscar_proveedor()"/></td>
</tr>
<tr><td align="right">Marca / Familia</td>
<td><select name="marcacbo">
';
$SQL="SELECT idfamilias, familia FROM familias";
if ($query = db_query ($SQL))
{
while ($row = mysql_fetch_array($query))
print ' <option VALUE="'.$row[0].'">'.$row[1].'</OPTION>';
}
echo'</select></td>
</tr>
<tr><td align="right">Tipo Producto</td>
<td><select name="tipocbo">
';
$SQL="SELECT idtipos, tipo FROM tipos";
if ($query = db_query ($SQL))
{
while ($row = mysql_fetch_array($query))
print ' <option VALUE="'.$row[0].'">'.$row[1].'</OPTION>';
}
echo'</select></td>
</tr>
<tr><td align="right">Color</td>
<td><select name="colorcbo">
';
$SQL="SELECT idcromatologia, cromatico FROM cromatologia";
if ($query = db_query ($SQL))
{
while ($row = mysql_fetch_array($query))
print ' <option VALUE="'.$row[0].'">'.$row[1].'</OPTION>';
}
echo'</select></td>
</tr>

</table>

</TD>
<td valign=top>
<fieldset id="fiel" height="100%" ><legend> Aparatos Compatibles </legend>
<img style="cursor:hand" src="../image/gestion/add.gif" border=0 alt="Añadir Linea" onClick="crear(this)"/>
</fieldset>
</td>
</tr>
<tr><td class="relleno_azul" colspan=2 align="center"><input name="guardar" type="submit" value="Guardar"/></td>
</tr>
</table>
</form>
</TD></TR>
</table>
</BODY>
</HTML>';
?>
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 04:08.