久々にサーバに POST するもの作ってみると hyperhtml や lit-html を使ってると楽だった
テンプレートに埋め込むために データは変数上にすでに持ってるから form からいちいち取り出したりしなくても JSON で送れる
エラーチェックも変数のデータなので好きに処理できるし form のバリデーション機能より柔軟にできる
form の POST じゃなくて ajax でバックグラウンドリクエストだから 画面遷移せずレスポンスに応じて遷移したり警告出したり DOM 書き換えのみだったり色々選べる
それと form の POST だと disabled のときに送られないとか面倒な仕様があるけど変数で持ってるデータを送るだけなら DOM 上で disabled かどうかなんて関係なし

もう lit-html とかを使わないくらいシンプルに作るとき以外は全部 ajax で JSON POST でいいくらい