1

従来の ASP アプリケーションで日付の入力にカレンダー コントロールを使用していました。しかし、カレンダー コントロールはキーボード フレンドリーではなく、データ入力に時間がかかります。そのため、後で日付を検証する単純なテキスト ボックスを追加しました。それは正常に動作します。ただし、ユーザーは日付区切り記号も配置する必要があります。事前に構成された日付形式と区切り記号が付いた日付入力フィールドを配置して、ユーザーが数字を入力するだけでフィールドが検証されるようにしたいと考えています。

どうすればこれを達成できますか?

4

4 に答える 4

4

jQuery/javascript を使用して、日付テキスト フィールドをマスクするだけです。ユーザーが値を入力すると、日付が自動的にフォーマットされます。また、機能するときに正しい検証を強制します。

たとえば、jQuery プラグインは以下を検索します。

jquery 日付マスク: http://digitalbush.com/projects/masked-input-plugin/

于 2011-03-30T18:01:05.560 に答える
2

テキストとしてセパレーター付きの 3 つのテキスト ボックスをいつでも配置できます (古い ASP クラシック サイトで行っているように)。

ここに画像の説明を入力

DateSerial応答で日付を区切り、投稿時に使用して結合する必要があります。

于 2011-03-30T12:29:43.887 に答える
1

過去に同様のものを作成したとき、ユーザーがいくつかの異なる方法でテキストボックスに日付を入力できるようにしました:

  • DDMMYYYY
  • 日/月/YYYY
  • 0 (今日)

フォームが送信されると、DDMMYYYY を DD/MM/YYYY に変換する単純な ASP 関数がありました (日付文字列は 8 文字である必要がありますが、DD の場合は 2 桁であると想定されていたため、区切り文字を挿入し、MM の場合は 2 を挿入するなど)、チェックします。これは有効な日付であり、if formdate = 0 then formdate=now()ルールです。

ただし、フォームにも JavaScript 検証を追加する必要があります。テキスト ボックスに onblur イベントを追加して、同じこと (入力された 8 桁の数字、有効な日付、または 0) をチェックします。それ以外の場合は、ユーザーに警告します。(今日やり直すなら、jQueryでこれを行うでしょう)

必要に応じて、Javascript「検証」を使用してデータ入力を高速化することができます。たとえば、入力される日付の多くが昨日または明日である場合、-1 または +1 が許可される場合、またはデータ入力が常に現在の月であるが別の日である場合、ユーザーは数値を入力するだけで済みます - 15 で、Javascript/jQuery は文字列を 15/03/2011 に変換します。

于 2011-03-30T09:23:27.437 に答える
0

HTML 5 では...textMode="Date"

<asp:TextBox ID="TextBoxDate" 
       runat="server"
       CssClass="form-control" Width="561px"
       TextMode="Date"> 
</asp:TextBox>
于 2018-01-05T14:38:37.797 に答える