webdevqa.jp.net

日付をChrome日付フィールドに貼り付ける方法はありますか?

Chromeでフォームに入力する場合、HTML5フォームには最近では気の利いた日付フィールドがあり、Chromeはかなり便利な日付ピッカーになります。

記入するフォームがたくさんない限り、これは素晴らしいことです。

日付を貼り付けたいのですが、Chromeのフィールドに日付を貼り付ける方法が見つかりません。

誰かが私がこれを行う方法について何か提案がありますか?

2
John Reid

これと同じ問題が発生しましたが、別の日付フィールドに貼り付ける必要もありました。上記と同様のことを行いましたが、完全な日付がコピーされていることをユーザーに明らかにしました。

私のユースケースには、datetime-localタイプフィールドからコピーして貼り付ける必要性も含まれていました。

https://jsfiddle.net/h444uL45/23/

var control_pressed = false;

function changeInputType(oldObject, oType) {
  var newObject = document.createElement("input");
  newObject.type = oType;
  if(oldObject.size) {newObject.size = oldObject.size;}
  if(oldObject.value) {newObject.value = oldObject.value;}
  if(oldObject.name) {newObject.name = oldObject.name;}
  if(oldObject.id) {newObject.id = oldObject.id;}
  if(oldObject.className) {newObject.className = oldObject.className;}
  oldObject.parentNode.replaceChild(newObject,oldObject);
  newObject.select();
  return newObject;
}

function swapToText(date_type) {
    $('input[type="'+date_type+'"]').on("keydown", function(event) {
    if ((event.keyCode == 17) && (control_pressed != true)) {
      $(this).addClass("revert_date_to_text");
      changeInputType(this, "text");
      swapToDate(date_type);
      control_pressed = true;
    }
  })
}

function swapToDate(date_type) {
  $(".revert_date_to_text").on("keyup", function(event) {
    if ((event.keyCode == 17) && (control_pressed != false)) {
      $(this).removeClass("revert_date_to_text");
      if (date_type == 'datetime-local') {
        $(this).val($.format.date($(this).val().replace(/\//g,"-").replace("T"," ")+':00.000', "yyyy-MM-ddTHH:mm"));
      } else {
        $(this).val($.format.date($(this).val().replace(/\//g,"-"), "yyyy-MM-dd"));
      }
      changeInputType(this, date_type);
      swapToText(date_type);
      control_pressed = false;
    }
  })
}

$(function() {
  $.getScript('https://cdnjs.cloudflare.com/ajax/libs/jquery-dateFormat/1.0/jquery.dateFormat.min.js');
  swapToText('date');
  swapToText('datetime-local');
});
1
Paul Benson

AutoHotKeyは、コメントのポインタを提供してくれたKickAssに感謝します。

それほどではないかなりのように簡単 CRTLV しかし、それは機能し、他のマクロ化の楽しみを開きます!

0
John Reid