2012-05-31 8 views
5

私はいくつかのフォームを持つMVCアプリケーションを持っています。フォームが送信されると、ユーザーgpsの座標がサーバーに渡されます。私はまた、クライアントに現在の日時を渡したいと思う。クライアントフォーム提出日時、MVCアプリケーション

これを行うための最良の方法はありますか?

フォームは標準HTMLフォームであり、基本送信を使用します。

私のフォームは以下のようになります。だから、どのように最良の提出の呼び出しにjavascriptの日時の値を添付しますか?

  @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

どの部分がはっきりしていませんか? JavaScriptで日付を作成するには?それをフォーム入力に割り当てる方法は? – RedFilter

答えて

5

のためにそれをフォーマットするmoment.jsを見て。

var d = new Date(); 

次に、座標を送信するときに変数dをサーバーに渡すことができます。あなたの編集から

Home controllerでのごCheckin方法で

、あなたが指定することができます。

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

hckDateの値を設定するには、行うことができます:

を提出ボタンでクリック:

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

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

    e.value = new Date(); 
} 

Thサーバーに送信されます。

+0

@BenCameronあなたの質問では、「フォームが送信されてユーザにgpsの座標をサーバに渡した」と述べています。座標を送信するときに変数dを指定するだけで、サーバに送信されます。わかる? –

+0

本当にありません。私は質問にフォームを追加しました。だから私はどのようにフォームにdatetime値を添付しますか? –

+0

@BenCameron - ホームコントローラの "Checkin"機能は、モデルバインディングプロパティ "hckLat"、 "hckLong"を持っていますか? "hckDate"を取るようにコントローラを変更するだけです –

1

javascript関数を使用します。

var currentDateTime = new Date() 

多分あなたはJavaScriptとクライアント・マシン上でレンダリングされるDate機能を使用することができ、MVCコントローラ

関連する問題