いくつかのフィールドを持つフォームがあります。フォームに組み込まれたすべての検証を楽しんでおり、ajax の使用は禁じられています。
問題は次のとおりです。フォームに日付ピッカーと時間セレクターがあります。しかし、値をそれらの組み合わせ、つまり 6/7/2013 05:00:00 として送信する必要があります。
私が行った調査から、送信する前にこれらの値を停止して連結することはできません。
あまり策略に巻き込まれることなくこれを行うにはどうすればよいでしょうか?
役立つヒントをありがとう!
いくつかのフィールドを持つフォームがあります。フォームに組み込まれたすべての検証を楽しんでおり、ajax の使用は禁じられています。
問題は次のとおりです。フォームに日付ピッカーと時間セレクターがあります。しかし、値をそれらの組み合わせ、つまり 6/7/2013 05:00:00 として送信する必要があります。
私が行った調査から、送信する前にこれらの値を停止して連結することはできません。
あまり策略に巻き込まれることなくこれを行うにはどうすればよいでしょうか?
役立つヒントをありがとう!
隠し要素を使用できます。この例ではこれを使用します。
<input type="hidden" name="datetime" value=""/>
フォームで送信イベントが発生した場合は、これを実行します。
$('form').on('submit', function(){
  var $form = $(this);
  $form.find('[name=datetime]').val( 
    $form.find('[name=date]').val() + ' ' + $form.find('[name=time]').val()
  );
});
編集
これはjQueryのタグが付けられていないことに気付いたので、フィールド名が「追加」でありdatetime、 、dateおよびという名前の入力があると仮定して、バニラjavascriptを使用した最善の試みを次に示しますtime。
var add = document.forms.add;
add.onsubmit = function(e){
  add.datetime.value = add.date.value + ' ' + add.time.value;
}
ただし、これは間違いなくサーバー側で処理する必要があります。
jQuery UI Datetimepicker プラグインを使用できます。単一のフィールドで日付と時刻をキャッチするのに役立ちます。参照してください。
$('#selectedDateTimeWithFormat').datetimepicker({ dateFormat: 'dd-mm-yy', timeFormat: 'hh:mm:ss' });
3 番目の非表示フィールドを用意し、日付または時刻の変更時に値 (日付 + 時刻) を更新し、必要な場所でその値を使用します。