Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Cambiar tipo de input en función a un textarea

Estas en el tema de Cambiar tipo de input en función a un textarea en el foro de PHP en Foros del Web. Hola amigos estoy buscando la forma de cambiar el tipo de un input, verán tengo este código @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código HTML: Ver original <!--Cuando el ...
  #1 (permalink)  
Antiguo 29/05/2013, 13:24
Avatar de UNDR4  
Fecha de Ingreso: marzo-2012
Ubicación: Death Valley
Mensajes: 46
Antigüedad: 12 años, 1 mes
Puntos: 2
Pregunta Cambiar tipo de input en función a un textarea

Hola amigos estoy buscando la forma de cambiar el tipo de un input, verán tengo este código

Código HTML:
Ver original
  1. <!--Cuando el textarea esta vacio-->
  2. <input id='cmEdt' type='button' name='Editar' value='Editar Comentario' onclick='funJS1()' />
  3. <input id='cmSve' type='hidden' name='Guardar' value='Guardar Comentario' onclick='funJS2()' />

Lo que necesito es que en función al estado de un textarea los dos input que tengo cambien su tipo (de button a hidden y viceversa), con estado de textarea me refiero a si está vacía o no


Código HTML:
Ver original
  1. <!--Cuando el textarea esta lleno-->
  2. <input id='cmEdt' type='hidden' name='Editar' value='Editar Comentario' onclick='funJS1()' />
  3. <input id='cmSve' type='button' name='Guardar' value='Guardar Comentario' onclick='funJS2()' />

El textarea lo lleno desde una base de datos MySql, la cosa es que no eh encontrado la forma en que realice este cambio al tipo de input, traté de hacerlo con load() pero no me función y no puedo utilizar los eventos onclick de los botones porque tiene otra función en mi codigo, no se sea posible verificar esto mediante php o solo tengo la opción de JS espero puedan ayudarme con este problema, saludos y gracias
__________________
†UNDR4†
Un programador es un mamífero nocturno de ojos rojos capaz de conversar con objetos inanimados.
  #2 (permalink)  
Antiguo 29/05/2013, 13:39
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: Cambiar tipo de input en función a un textarea

pues si lo que quieres de dibujar un input de un tipo u otro en función de si un campo tiene algo, es tan simple como una condición:

Código PHP:
Ver original
  1. if(empty($fila['campo']))
  2.     echo '<iput type="button">';
  3. else
  4.     echo '<iput type="hidden">';

ahora que si lo quieres hacer conforme el usuario llena el textarea, entonces el tema es de javascript
  #3 (permalink)  
Antiguo 29/05/2013, 13:44
Avatar de quinqui  
Fecha de Ingreso: agosto-2004
Ubicación: Chile!
Mensajes: 776
Antigüedad: 19 años, 8 meses
Puntos: 56
Respuesta: Cambiar tipo de input en función a un textarea

Holas, UNDR4.

Por lo que entiendo de tu planteamiento, debieras seguir todo en JS (ojalá los moderadores lo movieran al foro respectivo, si es el caso).

Como sea, parece que la solución iría (partiendo de la idea que quieres que el cambio se realice en función del cambio del contenido del textarea) por agregar el manejador del evento keypress del textarea: si el contenido del mismo cambia, entonces ejecuta una función que realice el cambio de type de los input. Algo como:
Código HTML:
<textarea onkeypress="cambiaTipo(this)">Hola, mundo</textarea> 
Donde la función cambiaTipo() realiza la validación (averiguar si el contenido del textarea ha cambiado) y ejecuta el cambio de type, de ser verdadera la validación.

Saludos!
__________________
pipus.... vieeeeeji plomius!!!
*quinqui site*
  #4 (permalink)  
Antiguo 29/05/2013, 23:51
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 13 años, 10 meses
Puntos: 28
Respuesta: Cambiar tipo de input en función a un textarea

con js:

Código Javascript:
Ver original
  1. function mostrardiv2() {
  2.     div = document.getElementById('reg');
  3.     div.style.display ='';
  4. }
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB
  #5 (permalink)  
Antiguo 30/05/2013, 09:53
Avatar de UNDR4  
Fecha de Ingreso: marzo-2012
Ubicación: Death Valley
Mensajes: 46
Antigüedad: 12 años, 1 mes
Puntos: 2
Respuesta: Cambiar tipo de input en función a un textarea

Antes que nada gracias a todos por responder

Cita:
Holas, UNDR4.

Por lo que entiendo de tu planteamiento, debieras seguir todo en JS (ojalá los moderadores lo movieran al foro respectivo, si es el caso).

Como sea, parece que la solución iría (partiendo de la idea que quieres que el cambio se realice en función del cambio del contenido del textarea) por agregar el manejador del evento keypress del textarea: si el contenido del mismo cambia, entonces ejecuta una función que realice el cambio de type de los input. Algo como:
Código Javascript:
Ver original
  1. <textarea onkeypress="cambiaTipo(this)">Hola, mundo</textarea>
Donde la función cambiaTipo() realiza la validación (averiguar si el contenido del textarea ha cambiado) y ejecuta el cambio de type, de ser verdadera la validación.

Saludos!
Hola quinqui, es cierto que esa función hace lo que yo quiero, pero solo lo hace cuando ocurre un evento en el textarea, lo que necesito es que en cuanto cargue el archivo php realice esta acción sin necesidad de tocar el textarea

sigo intentando con onload tanto en las etiquetas body y form, así como llamándolo con JS window.onload = cambiaTipo(); pero sin ningún resultado :S
__________________
†UNDR4†
Un programador es un mamífero nocturno de ojos rojos capaz de conversar con objetos inanimados.

Última edición por UNDR4; 30/05/2013 a las 09:59
  #6 (permalink)  
Antiguo 30/05/2013, 10:02
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Cambiar tipo de input en función a un textarea

En todo caso deberías aprender Javascript, si no te está funcionando es porque no tienes ni idea de lo que estás haciendo.

Si deseas saber porque no funciona tu código debes depurarlo con Firebug y ver si arroja un error o algo más.

Además, siendo un problema de Javascript, ¿por qué has preguntado aquí?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 30/05/2013, 11:05
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 13 años, 10 meses
Puntos: 28
Respuesta: Cambiar tipo de input en función a un textarea

Cita:
Iniciado por pateketrueke Ver Mensaje
En todo caso deberías aprender Javascript, si no te está funcionando es porque no tienes ni idea de lo que estás haciendo.

Si deseas saber porque no funciona tu código debes depurarlo con Firebug y ver si arroja un error o algo más.

Además, siendo un problema de Javascript, ¿por qué has preguntado aquí?
puede tener la idea de lo que esta asiendo un error lo comete cualquiera pero deberia de estudiar mas lo que hace claro...
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB
  #8 (permalink)  
Antiguo 30/05/2013, 11:09
Avatar de UNDR4  
Fecha de Ingreso: marzo-2012
Ubicación: Death Valley
Mensajes: 46
Antigüedad: 12 años, 1 mes
Puntos: 2
Respuesta: Cambiar tipo de input en función a un textarea

Cita:
Iniciado por pateketrueke Ver Mensaje
En todo caso deberías aprender Javascript, si no te está funcionando es porque no tienes ni idea de lo que estás haciendo.

Si deseas saber porque no funciona tu código debes depurarlo con Firebug y ver si arroja un error o algo más.

Además, siendo un problema de Javascript, ¿por qué has preguntado aquí?
No soy un experto en JS pero eso no quiere decir que no tenga conocimientos acerca de cómo usarlo, no creo que no exista alguien que no tenga por lo menos un problema en su código al momento de escribirlo, pero en fin no importa mucho ese tema.

Publique esto aquí para buscar un solución en php, pero después de los comentarios me quedo claro que la forma más sencilla seria con JS, como lo dice quinqui si el tema está fuera de lugar por favor le pido a algún moderador lo cambie al foro correspondiente.

Ya solucione mi problema, agradezco mucho a los que me apoyaron, muchas gracias y saludos
__________________
†UNDR4†
Un programador es un mamífero nocturno de ojos rojos capaz de conversar con objetos inanimados.
  #9 (permalink)  
Antiguo 30/05/2013, 11:13
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Cambiar tipo de input en función a un textarea

Cita:
Iniciado por UNDR4 Ver Mensaje
Ya solucione mi problema, agradezco mucho a los que me apoyaron, muchas gracias y saludos
Me imagino que no vas a compartir la solución, si es así entonces el tema que abriste sirve de nada.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #10 (permalink)  
Antiguo 30/05/2013, 11:21
Avatar de UNDR4  
Fecha de Ingreso: marzo-2012
Ubicación: Death Valley
Mensajes: 46
Antigüedad: 12 años, 1 mes
Puntos: 2
Respuesta: Cambiar tipo de input en función a un textarea

Cita:
Iniciado por pateketrueke Ver Mensaje
Me imagino que no vas a compartir la solución, si es así entonces el tema que abriste sirve de nada.
La solución es esta, espero y le sea de utilidad a alguien más, saludos

Código Javascript:
Ver original
  1. window.onload = function()
  2.             {
  3.                 if(document.form.textarea.value=='')
  4.                 {
  5.                     document.getElementById('boton1').type = 'button';
  6.                     document.getElementById('boton2').type = 'hidden';
  7.                 }
  8.                 else
  9.                 {
  10.                     document.getElementById('boton1').type = 'hidden';
  11.                     document.getElementById('boton2').type = 'button';
  12.                 }
  13.             }
__________________
†UNDR4†
Un programador es un mamífero nocturno de ojos rojos capaz de conversar con objetos inanimados.

Etiquetas: boton, programacion
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 00:48.