Hola, tengo una página en php con un formulario que tiene varios campos. Uno de ellos es un select. Cuando en ese select el valor es "q&a" (seleccionada por defecto) no debe cambiar nada, pero si se cambia al valor "bs" se deben añadir un par de selects nuevos. El caso es que llevo todo el día dándole vueltas, buscando por webs y tutoriales y no conseguí que llegue a aparecer el nuevo select nunca.
Pongo el código simplificado omitiendo un montón de campos que considero innecesarios.
Código:
<form action="<?php echo $vars['url'] . $action; ?>" enctype="multipart/form-data" method="post" name="form">
<p>
<label>
<select name="app" onChange="addSelectors()">
<option <?php echo $qa; ?> value="q&a"><?php echo elgg_echo('questions:form:app:q&a'); ?></option>
<option <?php echo $brainstorming; ?> value="bs"><?php echo elgg_echo('questions:form:app:brainstorming'); ?></option>
</select>
</label>
</p>
</form>
Los elgg_echo lo único que hacen es importar una cadena de texto de un archivo de idiomas en Elgg por si alguien no lo entiende.
Mi función javascript provisional (con cosas copiadas de ejemplos que vi) es:
Código:
<script language="javascript">
function addSelectors(){
if (document.form.app[document.form.app.selectedIndex].value == "bs") {
js1 = document.form.CreateElement('select');
js1.setAttribute('id','idsel1');
js1.options[0] = new Option('aaaa',0);
js1.options[1] = new Option('bbbbb',1);
document.form.appendChild(js1);
}
}
</script>
Alguna idea de qué puede fallar?Leí algo acerca de hacer el appendChild en un elemento de tipo div. También hice alguna prueba pero no solucioné nada.