Foros del Web » Programando para Internet » Javascript »

problema en fecha de php a javascript

Estas en el tema de problema en fecha de php a javascript en el foro de Javascript en Foros del Web. hola.. tengo el siguiente problema.. necesito mandar la fecha desde php a javascript.. pero el resultado en el script js es "undefined" .. he usado ...
  #1 (permalink)  
Antiguo 26/01/2010, 09:43
 
Fecha de Ingreso: noviembre-2009
Ubicación: Barranquilla
Mensajes: 54
Antigüedad: 14 años, 5 meses
Puntos: 0
Pregunta problema en fecha de php a javascript

hola.. tengo el siguiente problema..
necesito mandar la fecha desde php a javascript..
pero el resultado en el script js es "undefined"
..
he usado lo siguiente

Código PHP:
Ver original
  1. $fecha_recoleccion= $_REQUEST['fecha_recoleccion'];
  2. echo($fecha_recoleccion); // aqui la fecha me la muestra perfecto

asi lo mando pormedio de un input

Código HTML:
Ver original
  1. <input name="cantidad_recolectada" onblur="actualizarValor(this.value,<?=$fecha_recoleccion?>);" value="(vacio)" />

Código Javascript:
Ver original
  1. function actualizarValor(cantidad_recolectada,fecha_recoleccion){  
  2.   if(estaVacio(cantidad_recolectada)){
  3.             alert("Debe agregar una cantidad");
  4.         }else{
  5. alert(fecha_recoleccion);// el resultado es undefined
  6.  
  7. var fecha_recoleccion = Date.parse(fecha_recoleccion); // el resultado es NaN
  8.  
  9.    var url = 'ajax_actualiza_puntaje.php';  
  10.    var pars="cantidad_recolectada="+cantidad_recolectada+"&fecha_recoleccion="+fecha_recoleccion;  
  11.  
  12.    var myAjax = new Ajax.Updater( 'resultado'+id, url, { method: 'get', parameters: pars});
  13.         }
  14.    }

No se por que se me presenta este error..
es extraño pues solo estoy mandando una secuencia de caracteres..
2010/01/15 ..

no entiendo!

Gracias!

Última edición por fercholopez; 26/01/2010 a las 09:44 Razón: Dar las gracias :D
  #2 (permalink)  
Antiguo 26/01/2010, 09:54
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: problema en fecha de php a javascript

En principio, debes usar comillas para que lo tome como una cadena:
Código Javascript:
Ver original
  1. actualizarValor(this.value, '<?php echo $fecha_recoleccion; ?>');
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 26/01/2010, 09:55
 
Fecha de Ingreso: noviembre-2009
Ubicación: Barranquilla
Mensajes: 54
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: problema en fecha de php a javascript

vale.. voy a probar..
gracias.. por tu post!
  #4 (permalink)  
Antiguo 26/01/2010, 09:59
 
Fecha de Ingreso: noviembre-2009
Ubicación: Barranquilla
Mensajes: 54
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: problema en fecha de php a javascript

nop.. :(..
mira .. antes sin aplicarle la fecha de recoleccion, me funcionaba perfectamente..
este es un ejemplo..
tal cual..
Código HTML:
Ver original
  1. <input size="3" name="cantidad_recolectada1" onblur="actualizarValor(<?=$codigo_equipos?>,<?=$codmaterial[0] ?>,<?=$valormaterial[0]?>,this.value,<?=$id?>,<?=$numrows?>);" value="<?=$busq['cantidad_recolectada']?>" onclick="highlight(this)"/>

este codigo me funcionaba perfecto.. pero cuando incluyo la fecha, en el js me sale
undefined o NaN

.. creo que el error estaria en la conversion de tipos date en javascript..
.. o .. ps.. no sep :s
  #5 (permalink)  
Antiguo 26/01/2010, 12:43
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: problema en fecha de php a javascript

primero, ¿en que formato está la fecha?: DD-MM-YYYY ó MM/DD/YYYY, DD/MM/YY.

segundo: de donde la tomas $_REQUEST['fecha_recoleccion']; no te permitre saber si viene de get o post o cookie, es mejor usar $_POST['fecha_recoleccion'] o get dependiendo del caso.

date.parse() espera una fecha en formato anglosajón, en cambio date.setTime() espera un timestamp, por lo que bes de convertir la fecha a un timestamp Unix, puedes usar strtotime , pero sólo funcionará con fechas en formato anglosajón, otra opcion es separar la fecha en partes y reconstruirla con mktime:

Código PHP:
<?php
//evaluar DD-MM-AAAA
        
$fecha=explode('-',$date);
        
$d=$fecha[0];
        
$m=$fecha[1];
        
$y=$fecha[2];
       
        
$timestampmktime(0,0,0,$m,$d,$y);
?>

var fechajs= date.parse(<?php echo ($timestamp*1000); ?>); //multiplica por 1000 ya que js evalúa en milisegundos y php en segundos

Última edición por maycolalvarez; 26/01/2010 a las 14:08
  #6 (permalink)  
Antiguo 26/01/2010, 14:01
 
Fecha de Ingreso: noviembre-2009
Ubicación: Barranquilla
Mensajes: 54
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: problema en fecha de php a javascript

.. nop..
no funciona..
o bueno ..
si coloco la fecha .. 2010/01/15..
me sale un numero 1564565400 .. :S
..
en fin.,.
ahora probe lo siguiente.,.

Código Javascript:
Ver original
  1. onblur="actualizarValor(this.value,<?= date($fecha_recoleccion)?>);"

pero me sale .. con la misma fecha..
el numero 134 .. :S
  #7 (permalink)  
Antiguo 26/01/2010, 14:11
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: problema en fecha de php a javascript

ese numero es un timestamp unix, debes usarlo así:

var fecha_recoleccion = new Date(Date.parse(fecha_recoleccion));

http://www.w3schools.com/jsref/jsref_obj_date.asp
  #8 (permalink)  
Antiguo 26/01/2010, 14:21
 
Fecha de Ingreso: noviembre-2009
Ubicación: Barranquilla
Mensajes: 54
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: problema en fecha de php a javascript

vale voy a probar eso.... he probado lo siguiente

Código PHP:
Ver original
  1. list($a&#241;o,$mes,$dia) = explode("/",$fecha_recoleccion);
  2. echo($a&#241;o);
  3. echo($mes);
  4. echo($dia);
  5. $dates = ($a&#241;o.'-'.$mes.'-'.$dia);

esto me arroja: 2010-01-15.. perfecto..
pero cuando lo mando a javascript y me arroja el siguiente resultado
1994..
esdecir.. el split "-".. me lo toma como el operador resta.. :S

Etiquetas: php, fechas
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 12:30.