2012-05-31 10 views
5

Tengo una aplicación MVC con varios formularios. Cuando se envía el formulario, pasa las coordenadas GPS de los usuarios al servidor. También quiero pasar a los clientes la fecha actual.Formulario de cliente submit datetime, aplicación MVC

¿Alguien tiene alguna idea sobre la mejor manera de hacerlo?

Los formularios son formularios html estándar y utilizan un envío básico.

Mi formulario se vería como el siguiente. Entonces, ¿cómo podría adjuntar el valor de javascript datetime a la llamada de envío?

  @using (Ajax.BeginForm("CheckIn", "Home", "Nothing", new AjaxOptions { })) 
      { 
       <fieldset> 
        <p>Move your Tile here to let those around you see it...</p> 
        <input type="hidden" name="lat" id="hckLat" value="" /> 
        <input type="hidden" name="lon" id="hckLon" value="" /> 
        <input type="hidden" name="date" id="hckDate" value="" /> 
        <input type="submit" value="Check In!" /> 
       </fieldset> 
      } 
+0

¿Qué parte no está clara? ¿Cómo crear una fecha en JavaScript? ¿Cómo asignarle valor a una entrada de formulario? – RedFilter

Respuesta

5

Usted puede utilizar JavaScript y la función Date que hayan sido transformados en la máquina del cliente .

var d = new Date(); 

Entonces podría pasar la variable d al servidor cuando envíe las coordenadas.

De tu edición:

En el método de Checkin en el Home controller, se podría especificar:

public ActionResult Checkin(string hckLat, string hckLong, string hckDate) 
{ 
    var theDate = hckDate; 
} 

Para establecer el valor de hckDate, se podría hacer:

en el botón Enviar haga clic en:

<input type="button" name="theSubmitButton" id="theSubmitButton" value="Button" onClick="setDate();"> 

function setDate() { 
    var e = document.getElementById('hckDate'); 

    e.value = new Date(); 
} 

Th es entonces sería enviado al servidor.

+0

@BenCameron En su pregunta usted declara "el formulario se envía, pasó las coordenadas gps de los usuarios al servidor" - cuando envíe las coordenadas, simplemente especifique la variable d también y se enviará al servidor. ¿Entender? –

+0

No realmente. He agregado la forma a la pregunta. Entonces, ¿cómo adjuntaré el valor de fecha y hora al formulario? –

+0

@BenCameron: su función "Checkin" en el controlador Home tiene propiedades de vinculación modelo "hckLat", "hckLong", puede modificar el controlador para tomar "hckDate" –

1

uso de la función javascript:

var currentDateTime = new Date() 

entonces tal vez mirar a moment.js darle formato para el controlador MVC

Cuestiones relacionadas