質問: 日付をchrome日付フィールドに貼り付ける方法はありますか? chromeでフォームに入力する場合、html5フォームには最近では気の利いた日付フィールドがあり、chromeはかなり便利な日付ピッカーになります。記入するフォームがたくさんない限り、これは素晴らしいことです。日付を貼り付けたいのですが、chromeのフィールドに日付を貼り付ける方法が見つかりません。誰かが私がこれを行う方法について何か提案がありますか?
回答: これと同じ問題が発生しましたが、別の日付フィールドに貼り付ける必要もありました。上記と同様のことを行いましたが、完全な日付がコピーされていることをユーザーに明らかにしました。私のユースケースには、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'); });