2009-06-16 28 views
7

Al usar javascript, ¿cómo podemos insertar automáticamente la FECHA y HORA actuales en un campo de entrada de formulario?Insertar fecha y hora en el campo de entrada de formulario?

Estoy creando un formulario de "Problemas" para realizar un seguimiento de las quejas presentadas por los usuarios sobre un determinado servicio. Estoy recopilando tanta información como sea posible. Quiero evitar que el personal aquí tenga que ingresar manualmente la fecha y la hora cada vez que abren el formulario.

que tienen este fragmento de código:

<input id="date" name="date" value="javascript:document.write(Date()+'.')"/> 

pero no está funcionando.

muchas gracias por cualquier ayuda.

+1

Ningún atributo de cualquier elemento * * HTML jamás ejecutar una instrucción JS: HTML no es un lenguaje de script. onclick et al solo proporcionan valores a una representación DOM. – annakata

+0

use el código del lado del servidor (PHP, ASP.NET) para obtener más seguridad en este tema. los piratas informáticos (principiantes) podrían cambiar sus valores de entrada por FireBug, Developer Tools (IE8 +), .... – MajidTaheri

Respuesta

17

Javascript no se ejecutará dentro de un atributo de valor. Se podría hacer algo como esto, sin embargo:

<input id="date" name="date"> 

<script type="text/javascript"> 
    document.getElementById('date').value = Date(); 
</script> 

Usted probablemente querrá dar formato a la fecha que se prefiere, debido a que la salida por defecto de Fecha() se ve algo como: Tue Jun 16 2009 10:47:10 GMT-0400 (Eastern Daylight Time). Consulte this SO question para obtener información sobre cómo formatear una fecha.

+2

Solo funciona si la entrada no es un campo de entrada de fecha HTML5. –

2

La forma más rápida de obtener el formato de fecha es que es usar datejs.

La lib es realmente fácil de usar y te da un formato muy bonito.


en cuanto a su fragmento de código, no utilice document.write si puede evitarlo. tratar

document.getElementById("date").value = new Date().toUTCString(); 
4

Vea el ejemplo, http://jsbin.com/ahehe

Uso de la fecha JavaScript utilidad de formato descrito here.

<input id="date" name="date" /> 

<script> 
    document.getElementById('date').value = (new Date()).format("m/dd/yy"); 
</script> 
+0

Perdón por ser un "Johnny venido últimamente", pero he probado este script a más de siete formas desde el domingo y no puedo conseguir que ocupe el campo. Creé un nuevo archivo, todo lo que contiene es el código anterior con el etiquetado html adecuado y no produce un cuadro de texto con una fecha. ¿Alguna sugerencia? – user1794918

0
<input id="date" name="date" /> 
<script type="text/javascript"> 
document.getElementById("date").value = new Date(); 
</script> 
0

Parece que va a almacenar el valor que el campo de entrada contiene después de enviar el formulario, lo que significa que está utilizando un lenguaje de scripting. Lo usaría en lugar de JavaScript, ya que la mayoría de los lenguajes de scripting tienen mejores opciones de formato de hora/fecha.En PHP se podría hacer algo como esto:

<input id="date" name="date" value="<?php echo date("M j, Y - g:i"); ?>"/> 

Qué podría llenar el campo con ".16 jun-2009 - 08:58"

+0

Esto dependería de la zona horaria del servidor, no de la hora local del usuario. –

0

Otra opción es:

<script language="JavaScript" type="text/javascript"> 
document.getElementById("my_date:box").value = (Stamp.getDate()+"/"+(Stamp.getMonth() + 1)+"/"+(Stamp.getYear())); 
</script> 
1

Si está usando fecha HTML5

uso este código

HTML

<input type="date" name="bday" id="start_date"/> 

Java Script

document.getElementById('start_date').value = Date(); 
1
$("#startDate").val($.datepicker.formatDate("dd/mm/yy", new Date())); 
$("#endDate").val($.datepicker.formatDate("dd/mm/yy", new Date())); 

Añadir el código anterior al final de la secuencia de comandos. Esto es necesario porque el plugin datepicker no tiene ninguna disposición para establecer la fecha en el control durante la inicialización.

6
<input type="date" id="myDate" /> 

<script type="text/javascript"> 
function SetDate() 
{ 
var date = new Date(); 

var day = date.getDate(); 
var month = date.getMonth() + 1; 
var year = date.getFullYear(); 

if (month < 10) month = "0" + month; 
if (day < 10) day = "0" + day; 

var today = year + "-" + month + "-" + day; 


document.getElementById('myDate').value = today; 
} 
</script> 

<body onload="SetDate();"> 

encontrar aquí: http://jsbin.com/oqekar/1/edit?html,js,output

0
var date = new Date(); 

document.getElementById("date").value = date.getFullYear() + "-" + (date.getMonth()<10?'0':'') + (date.getMonth() + 1) + "-" + (date.getDate()<10?'0':'') + date.getDate(); 

document.getElementById("hour").value = (date.getHours()<10?'0':'') + date.getHours() + ":" + (date.getMinutes()<10?'0':'') + date.getMinutes(); 
Cuestiones relacionadas