前回ボタンの作り方を発見しました。 dataviewで出力したいときはクリップボードを経由する。 この方法で何とかなりそうです。
次は入力ボックスです。
西暦変換
令和を入れると西暦になる。 そんなスクリプトを考えてみます。
```dataviewjs
dv.span("令和")
const a = dv.el("input")
dv.span(" = 西暦")
const b = dv.el("span","")
a.onkeyup = function(){
b.innerText = + a.value + 2018
}
```
入力欄
inputタグで入力欄を作ってみました。 面白いです。 穴埋め問題みたいになりました。 タイミングはキー入力に合わせ変換するのでシームレス。
スタイル
スタイルを追記することでカスタマイズできます。
a.style = "font-size:18px;background:yellow;width:40px;border:0;"
入力欄の文字が大きくなって背景が黄色。 やりたい放題ですね。
コピーボタン
さらに下記スクリプトを足せば出来上がり。
b.onclick = function(){ new Notice("copy") navigator.clipboard.writeText(b.innerText) }
西暦をタップするとクリップボードに保存します。
令和の覚え方
「れいわ」を「018」と読み替えるネタをネットで見ました。 なるほど。 令和5年に対し「018 + 5」と計算して「023」。 これで2023年が導き出されます。
他の元号もそんな覚え方、あったのかな。
まとめ
dataviewでWebページみたいな対話型テキストが作れるわけです。