os posteo el código de lo que pretendo hacer para que veais lo que intento hacer.
Código:
Bueno pues el asunto está que agrego un campo más a mi formulario sin problemas, pero luego para comprobar si existe o no el campo, simplemente lo que hago es sacar un alert, pero es que me sigue creando un campo más...<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <title>Document sans nom</title> </head> <body> <script language="javascript" type="text/javascript"> function slctr(texto,valor){ this.texto = texto this.valor = valor } var empresa=new Array() empresa[0] = new slctr('- - Seleccionar - -') empresa[1] = new slctr("Documento",'0') empresa[2] = new slctr("CIF",'1') var trabajadores=new Array() trabajadores[0] = new slctr('- -Seleccionar- -') trabajadores[1] = new slctr("Documento",'2') trabajadores[2] = new slctr("DNI",'3') function slctryole(cual,donde){ if(cual.selectedIndex != 0){ donde.length=0 cual = eval(cual.value) for(m=0;m<cual.length;m++){ var nuevaOpcion = new Option(cual[m].texto); donde.options[m] = nuevaOpcion; if(cual[m].valor != null){ donde.options[m].value = cual[m].valor } else{ donde.options[m].value = cual[m].texto } } } } function agregarcampo(id){ if((id == 0) && (document.getElementById('Documento') == null)) { alert("Traza: \n" + "id: " + id + "\n" + "Documento: " + document.getElementById('Documento')); var campo=document.createElement("INPUT"); campo.setAttribute("type","text"); campo.setAttribute("name","Documento"); campo.setAttribute("value","El contenido"); document.getElementsByName("filtro")[0].appendChild(campo); alert("Creo el Campo") } else { alert(id + " Elimino el campo Documento"); } } </script> <form name="filtro" method="post" action=""> <select name="select" onchange="slctryole(this,this.form.select2)"> <option>- - Seleccionar - -</option> <option value="empresa">Empresa</option> <option value="trabajadores">Trabajadores</option> </select> <select name="select2" onchange="agregarcampo(this.value)"> <option>- - - - - -</option> </select> </form> </body> </html>
La idea es hacer un filtro personalizado, que aunque en este ejemplo tendrán siempre un input text, no siempre agregaré un mismo tipo de objeto de formulario. Eso dependerá de la selección del primer combo.
A ver si me podéis echar un cable. Gracias y un saludo.