[英]Work around Flatpickr input required and fill form with JS bookmarklet
我試圖通過使用Javascript書簽自動填充某些字段來加快網頁表單填充工作流程。 除了填寫由Flatpickr控制的幾個日期/時間字段之外,我已經完成了所有工作。 這是我的小書簽代碼,主要由FormFillerJS.com創建:
var d=document;
function i(a){
return d.getElementById(a)}
function n(a){
return d.getElementsByName(a)[0]}
function e(a){
t='change';
if(window.navigator.userAgent.match(/Trident|MSIEs/g)!=null){
x=d.createEvent('Events');
x.initEvent(t,1,0);}
else{
x=new Event(t);}
a.dispatchEvent(x);}
function v(a,v){
a.value=v;e(a)}
function c(a){
a.checked=true;e(a)}
v(i("start-date"),"2018-10-17 11:30");
v(i("end-date"),"2018-10-17 13:30");
v(n("campus"),"1");
v(i("payroll_addendum_category"),"4");
v(i("payroll_addendum_rate"),"Faculty Rate");
v(i("payroll_addendum_course"),"319");
v(i("payroll_addendum_requested_by"),"John Doe");
v(i("notes"),"My note");
void(0);
這兩行...
v(i("start-date"),"2018-10-17 11:30");
v(i("end-date"),"2018-10-17 13:30");
……一點都沒有填補。 我是一個新手,但是我的印象是Flatpickr必須以某種方式調用。 有什么方法可以使用JS小書簽來完成此操作,還是我不得不用Flatpickr界面手動選擇日期/時間?
如果有幫助,這是我在這兩個字段中看到的來源:
<div class="input-label"><input id="start-date" type="hidden" class="required placeholder flatpickr-input" name="start_date" placeholder="Start Date/Time" value="" data-name="my-payroll-create"><input class="required placeholder flatpickr-input flatpickr-mobile" step="any" type="datetime-local" placeholder="Start Date/Time" min="2018-09-18"><input class="required placeholder flatpickr-input form-control input" placeholder="Start Date/Time" type="hidden" readonly="readonly"><div class="placeholder-label">Start Date/Time</div></div></div>
<div><div class="input-label"><input id="end-date" type="hidden" class="required flatpickr-input" name="end_date" placeholder="End Date/Time" value="" data-name="my-payroll-create"><input class="required flatpickr-input flatpickr-mobile placeholder" step="any" type="datetime-local" placeholder="End Date/Time" min="2018-09-18"><input class="required flatpickr-input form-control input" placeholder="End Date/Time" type="hidden" readonly="readonly"><div class="placeholder-label">End Date/Time</div></div></div>
似乎代替您的行:
v(i("start-date"),"2018-10-17 11:30");
v(i("end-date"),"2018-10-17 13:30");
您應該使用以下內容:
i("start-date")._flatpickr.setDate("2018-10-17 11:30", true);
i("end-date")._flatpickr.setDate("2018-10-17 13:30", true);
希望對您有所幫助。
(有關更多詳細信息,請參見Flatpickr上的文檔。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.