簡而言之:我想在不使用Acrobat格式選項的情況下在文本字段上使用Acrobat DC的內置日期選擇器。Acrobat DC:帶日期選擇器的未格式化文本字段?
全部內容:
我試圖啓用我的表單中的日期字段來接受各種各樣的日期格式作爲輸入,包括日期選擇器。我已經編寫了驗證代碼來完成此操作,但Acrobat在驗證代碼觸發前拒絕輸入,並將日期重寫爲可接受的格式。這意味着我必須將字段格式設置爲「無」,以便我的驗證代碼能夠正確觸發,從而在流程中丟失內置的日期選擇器。雖然這不會使表格失效,但它阻礙了用戶體驗,這是我一直在努力在這種形式下進行強有力的改進。
爲了說明這個問題:
理想/目標:
- 輸入 「2017年5月25日」 到日期字段
- 輸入驗證碼將這個以 「2017年05 25」
- 的Acrobat格式適用(預計:「yyyy mm dd」),啓用日期選擇器
- Acrobat日期選取器可用於更快速的輸入更改
當前問題:
- 輸入 「2017年5月25日」 到日期字段
- 的Acrobat格式適用(預計: 「月日」),拒絕輸入
- 驗證代碼無關與 工作
- Acrobat中的日期選擇器可更快速的輸入改變
當前不理想的解決方案:
- 輸入 「5月25日,2017年」 進日期字段
- 輸入驗證碼將這個以 「2017年05 25」
- 的Acrobat格式禁用
- 沒有Acrobat中的日期選擇器
我看到三種可能解決方案,但不知道如何(或者如果我能)實現它們。
- 以某種方式搶佔Adobe的內置格式化腳本。我已經嘗試過調用event.change和event.willCommit,但我顯然不明白它們足以正確使用它們。另外,我認爲腳本的優先順序是Keystroke>驗證>格式>計算,但看起來我錯了,或者Adobe的內置格式是特殊的。
- 以某種方式強制啓用日期選擇器。我對此沒有很高的期望。我不明白爲什麼Adobe沒有將該死的東西變成複選框選項。
- 以某種方式將格式選項設置爲通配符。像過去三年一樣,我不知道這是否可能,但這似乎最有可能發揮作用。基本上,讓格式接受任何東西。
也許刪除所有[eventhandlers](https://stackoverflow.com/questions/2837542/is-it-possible-to-remove-all-event-handlers-of-a-given-element-in-javascript )是一種選擇。 –