Foros del Web » Programando para Internet » Javascript »

Mostrar casilla input tras elegir opcion en un select

Estas en el tema de Mostrar casilla input tras elegir opcion en un select en el foro de Javascript en Foros del Web. Buenas, No sabía como poner el titulo del post... y tampoco sé si es posible realizar esto, por lo que os pido consejo y ayuda! ...
  #1 (permalink)  
Antiguo 02/01/2009, 15:33
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 1 mes
Puntos: 20
Mostrar casilla input tras elegir opcion en un select

Buenas,

No sabía como poner el titulo del post... y tampoco sé si es posible realizar esto, por lo que os pido consejo y ayuda!

Dispongo de un formulario

Código PHP:
<div id="form3">
        <
form action="/includes/procesa_formulario.php" method="post">
            <
fieldset>
            <
legend>Crear Tarea</legend>
                <
label for="asunto">Asunto: </label>
                    <!--<
input type="text" id="usuario" name="usuario" tabindex="1" value="" title="Usuario" size="35"/><br/>-->
                    <
textarea name="asunto" style="width:60%" rows="5" id="asunto" title="Asunto"></textarea><br/>

                <
label for="prioridad">Prioridad: </label>
                    <
input name="prioridad" type="radio" value="1"/> Alta<input name="prioridad" type="radio" value="2" checked/> Normal<input name="prioridad" type="radio" value="3"/> Baja<br/>
                
                <
label for="categoria">Categoria: </label>
                    <
select name="categoria" id="categoria"  tabindex="3">
                        <
option value="cat1">Categoria 1</option>
                        <
option value="cat2">Categoria 2</option>
                        <
option value="cat1">Nueva Categoria</option>
                    </
select><br>
    
                <
label for="categoria">Nueva Categoria: </label>    
                    <
input type="text" id="categoria" name="categoria" tabindex="1" value="" title="Categoria" size="40"/><br/>
                    <
small>Deja en blanco si no quieres agregar una nueva categoría.</small>

                <
label for="invisible">&nbsp;</label>
                <
input type="submit" value="Guardar" id="submit" tabindex="6"/> <input type="reset" id="reset" tabindex="7"/>
            </
fieldset>
        </
form>
        </
div
Mi objetivo es que el penúltimo input, el que habla de Nueva categoría este oculto

Código:
<label for="categoria">Nueva Categoria: </label>	
					<input type="text" id="categoria" name="categoria" tabindex="1" value="" title="Categoria" size="40"/><br/>
					<small>Deja en blanco si no quieres agregar una nueva categoría.</small>
Y solo aparezca cuando en el menu select de arriba esté seleccionada la opción "Nueva Categoria".

Se puede hacer esto?

La idea es que en el select quiero que se cargue las categorias que hay en la base de datos, pero para no limitar a esas categorias si el usuario decide seleccionar "Nueva Categoria" que le aparezca la opción de introducir su propia categoría.

Muchas gracias de antemano.

Un saludo y Feliz 2009
  #2 (permalink)  
Antiguo 02/01/2009, 15:37
 
Fecha de Ingreso: diciembre-2008
Mensajes: 70
Antigüedad: 15 años, 4 meses
Puntos: 4
Respuesta: Mostrar casilla input tras elegir opcion en un select

Esto no te conviene hacerlo con PHP ya que en lo que hace el request al servidor para determinar si selecciono nueva categoria se pierden los datos (que podrias recuperar pero es mas dificil y mas carga al servidor) te recomiendo que uses javascript, de hecho me pregunto si este post no deberia estar en la seccion de javascript.

Saludos y suerte
  #3 (permalink)  
Antiguo 02/01/2009, 16:23
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 9 meses
Puntos: 102
Respuesta: Mostrar casilla input tras elegir opcion en un select

Coincido en que JavaScript es "la mejor opción". Muevo el tema desde PHP esperando obtengas mejores resultados.

Suerte
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #4 (permalink)  
Antiguo 02/01/2009, 16:56
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 1 mes
Puntos: 20
Respuesta: Mostrar casilla input tras elegir opcion en un select

Cita:
Iniciado por gilitos92 Ver Mensaje
Esto no te conviene hacerlo con PHP ya que en lo que hace el request al servidor para determinar si selecciono nueva categoria se pierden los datos (que podrias recuperar pero es mas dificil y mas carga al servidor) te recomiendo que uses javascript, de hecho me pregunto si este post no deberia estar en la seccion de javascript.

Saludos y suerte
Ufff muchas gracias, pues me has matado... porque con javascript estoy vendido....

Es muy difícil de hacer?

Muchas gracias
  #5 (permalink)  
Antiguo 02/01/2009, 18:13
Avatar de marcopoloaz06  
Fecha de Ingreso: julio-2007
Ubicación: México
Mensajes: 457
Antigüedad: 16 años, 9 meses
Puntos: 11
Respuesta: Mostrar casilla input tras elegir opcion en un select

hola, creo quedaria asi:
Código HTML:
 <div id="form3">
        <form action="/includes/procesa_formulario.php" method="post">
            <fieldset>
            <legend>Crear Tarea</legend>
                <label for="asunto">Asunto: </label>
                    <!--<input type="text" id="usuario" name="usuario" tabindex="1" value="" title="Usuario" size="35"/><br/>-->
                    <textarea name="asunto" style="width:60%" rows="5" id="asunto" title="Asunto"></textarea><br/>

                <label for="prioridad">Prioridad: </label>
                    <input name="prioridad" type="radio" value="1"/> Alta<input name="prioridad" type="radio" value="2" checked/> Normal<input name="prioridad" type="radio" value="3"/> Baja<br/>
                
                <label for="categoria">Categoria: </label>
                    <select name="categoria" id="categoria"  tabindex="3" onChange="document.getElementById('nCategoria').disabled=this.selectedIndex!=2">
                        <option value="cat1">Categoria 1</option>
                        <option value="cat2">Categoria 2</option>
                        <option value="cat1">Nueva Categoria</option>
                    </select><br>
    
                <label for="categoria">Nueva Categoria: </label>    
                    <input type="text" id="nCategoria" name="categoria" tabindex="1" value="" title="Categoria" size="40" disabled="true" /><br/>
                    <small>Deja en blanco si no quieres agregar una nueva categoría.</small>

                <label for="invisible">&nbsp;</label>
                <input type="submit" value="Guardar" id="submit" tabindex="6"/> <input type="reset" id="reset" tabindex="7"/>
            </fieldset>
        </form>
        </div> 
saludos
:]
__________________
Aerolíneas Alicia :D
  #6 (permalink)  
Antiguo 03/01/2009, 02:38
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 1 mes
Puntos: 20
Respuesta: Mostrar casilla input tras elegir opcion en un select

Cita:
Iniciado por marcopoloaz06 Ver Mensaje
hola, creo quedaria asi:
Código HTML:
 <div id="form3">
        <form action="/includes/procesa_formulario.php" method="post">
            <fieldset>
            <legend>Crear Tarea</legend>
                <label for="asunto">Asunto: </label>
                    <!--<input type="text" id="usuario" name="usuario" tabindex="1" value="" title="Usuario" size="35"/><br/>-->
                    <textarea name="asunto" style="width:60%" rows="5" id="asunto" title="Asunto"></textarea><br/>

                <label for="prioridad">Prioridad: </label>
                    <input name="prioridad" type="radio" value="1"/> Alta<input name="prioridad" type="radio" value="2" checked/> Normal<input name="prioridad" type="radio" value="3"/> Baja<br/>
                
                <label for="categoria">Categoria: </label>
                    <select name="categoria" id="categoria"  tabindex="3" onChange="document.getElementById('nCategoria').disabled=this.selectedIndex!=2">
                        <option value="cat1">Categoria 1</option>
                        <option value="cat2">Categoria 2</option>
                        <option value="cat1">Nueva Categoria</option>
                    </select><br>
    
                <label for="categoria">Nueva Categoria: </label>    
                    <input type="text" id="nCategoria" name="categoria" tabindex="1" value="" title="Categoria" size="40" disabled="true" /><br/>
                    <small>Deja en blanco si no quieres agregar una nueva categoría.</small>

                <label for="invisible">&nbsp;</label>
                <input type="submit" value="Guardar" id="submit" tabindex="6"/> <input type="reset" id="reset" tabindex="7"/>
            </fieldset>
        </form>
        </div> 
saludos
:]
Ey!! muchas gracias, ese era el efecto que buscaba!
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 08:00.