Foros del Web » Creando para Internet » HTML »

[SOLUCIONADO] Problema con input y javascript

Estas en el tema de Problema con input y javascript en el foro de HTML en Foros del Web. Estaba armando un "separador" de fecha para completar un formulario con mayor velocidad, solo sirve con 1 input y lo necesito en varios. Código HTML: ...
  #1 (permalink)  
Antiguo 07/09/2014, 15:41
 
Fecha de Ingreso: septiembre-2014
Mensajes: 9
Antigüedad: 10 años, 3 meses
Puntos: 0
Pregunta Problema con input y javascript

Estaba armando un "separador" de fecha para completar un formulario con mayor velocidad, solo sirve con 1 input y lo necesito en varios.
Código HTML:
<script type="text/javascript">
function fechas(){
if(fecha.value.length == 2 ){
fecha.value += "/";
 
}</script>

<input type="text/javascript" name="f1" id="fecha" onkeydown="fechas();" size="10"  maxlength="10">
<input type="text/javascript" name="f2" id="fecha" onkeydown="fechas();" size="10"  maxlength="10"> 
Se que los dos tienen el mismo Id pero si no , no sabria como encontrar el valor de cada input

Última edición por nargen96; 07/09/2014 a las 16:03
  #2 (permalink)  
Antiguo 08/09/2014, 05:40
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 11 años, 3 meses
Puntos: 578
Respuesta: Problema con input y javascript

Dos elementos no pueden tener el mismo ID... tampoco existe el tipo de input "text/javascript"

Haz esto:

Código Javascript:
Ver original
  1. function fechas(elem){
  2.    if(elem.value.length == 2 ){
  3.       elem.value += "/";
  4.    }
  5. }

Código HTML:
Ver original
  1. <input type="text" name="f1" id="fecha1" onkeydown="fechas(this)" size="10"  maxlength="10">
  2. <input type="text" name="f2" id="fecha2" onkeydown="fechas(this)" size="10"  maxlength="10">

Lo que hace es pasar el elemento de forma dinámica mediante this.


PD: ¿Por qué no utilizas el input date de HTML5?

Última edición por PHPeros; 08/09/2014 a las 07:52
  #3 (permalink)  
Antiguo 08/09/2014, 08:53
 
Fecha de Ingreso: septiembre-2014
Mensajes: 9
Antigüedad: 10 años, 3 meses
Puntos: 0
Respuesta: Problema con input y javascript

Muchas gracias ,soy nuevo en javascript :s siempre trabaje en php.
Sobre el input date no lo uso por que en la respuesta del servidor me lo tira en formato yyyy-mm-dd :(
el problema ahora es que solo separa los primeros dos digitos.
  #4 (permalink)  
Antiguo 08/09/2014, 09:40
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: Problema con input y javascript

Cita:
Iniciado por nargen96 Ver Mensaje
Sobre el input date no lo uso por que en la respuesta del servidor me lo tira en formato yyyy-mm-dd...
Eso no es problema. Ese tipo de elemento lo acomodará al formato dd/mm/yyyy y si más adelante vas a guardar dicho dato, será enviado como yyyy/mm/dd.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #5 (permalink)  
Antiguo 08/09/2014, 10:04
 
Fecha de Ingreso: septiembre-2014
Mensajes: 9
Antigüedad: 10 años, 3 meses
Puntos: 0
Respuesta: Problema con input y javascript

en mi caso si por que lo guardo en una tabla SQL , luego crea un pdf a partir de la fecha entonces no me sirve ! me lo guarda como yyyy-mm-dd
  #6 (permalink)  
Antiguo 08/09/2014, 10:26
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: Problema con input y javascript

En la BD, ese es el formato por defecto, de modo que cuando hagas la consulta, le das el formato deseado con la función DATE_FORMAT y listo.

Código MySQL:
Ver original
  1. SELECT DATE_FORMAT(fecha, '%d/%m/%Y') as miFecha

Con lo anterior, si en la BD tuviera la fecha '2014-09-08', ésta se mostraría como '08/09/2014'. Ahora que si fueras a guardar dicho dato y más adelante lo fueras a cargar en un <input type = "date" />, no haría falta la conversión de formato, ese tipo de elemento lo hace de manera automática.

Tienes que empezar a investigar más por tu cuenta, la información está ahí, solo depende de ti.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #7 (permalink)  
Antiguo 08/09/2014, 10:51
 
Fecha de Ingreso: septiembre-2014
Mensajes: 9
Antigüedad: 10 años, 3 meses
Puntos: 0
Respuesta: Problema con input y javascript

investigue mucho , como no encontre llegue a este foro !

por ahora estoy armando del formulario al php que crea el PDF que recibe las variables POST , entonces el input "date" me tira en YYYY-MM-DD o como dice por la web "formato alambre"
  #8 (permalink)  
Antiguo 08/09/2014, 10:54
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: Problema con input y javascript

¿Podrías mostrarnos la implementación que tienes elaborada? Con el código actualizado, de preferencia.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #9 (permalink)  
Antiguo 08/09/2014, 10:57
 
Fecha de Ingreso: septiembre-2014
Mensajes: 9
Antigüedad: 10 años, 3 meses
Puntos: 0
Respuesta: Problema con input y javascript

simplemente es un form method post con input="date"

donde se dirige a un PHP que crea un formato de PDF con la variable "fecha" y demas datos.
El php recibe la variable en crudo $_POST['date']; y genera el pdf en formato
YYYY-MM-DD

para crear el pdf estoy usando FPDF.
  #10 (permalink)  
Antiguo 08/09/2014, 11:09
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: Problema con input y javascript

Ya veo. En tal caso, cambia el formato con PHP, para lo cual puedes usar las funciones date y strtotime.

Código PHP:
Ver original
  1. $date = $_POST['date']; //Llega como '2014-09-08'
  2. echo date('d/m/Y', strtotime($date)); //Sale como '08/09/2014'

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #11 (permalink)  
Antiguo 08/09/2014, 12:01
 
Fecha de Ingreso: septiembre-2014
Mensajes: 9
Antigüedad: 10 años, 3 meses
Puntos: 0
Respuesta: Problema con input y javascript

Graciass !!!! Pensaba que el input date lo manejaban los navegadores y devolvia texto plano. Funciona 100% , me habia cansado de buscarrr .

Etiquetas: date, fecha, input
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 23:52.