質問

投稿者:M.K
登録日:2026年5月26日(火)

JavaScriptで必須制御を行った項目について③

JavaScriptの必須制御と表示制御について以前問い合わせて回答をいただいたものです。 フォームにてJavaScriptによる出し分け制御を行っておりますが、 運用上問題ないか確認したい事象があり、ご相談です。 ■現在の実装 送迎タイプ(駅送迎/空港送迎)に応じて入力項目を出し分けしており、 非表示側の必須項目についてはダミー値を設定しております。 以前ご案内いただいた内容を参考に、 表示切替時に入力値も制御する形で実装しております。 ■確認したい事象 駅送迎を選択している場合でも、 非表示となっている空港送迎側項目のダミー値がDB上に保存されます。 例: ・フライト番号「0」 ・フライト時間「0時00分」 画面上には表示されていないため利用者には見えませんが、 DB上では実際の入力値との区別がつきにくい状態となっております。 このような運用はSPIRAL上問題ない想定でしょうか。 また、可能であれば、 非表示項目については未送信または空欄扱いとする実装方法がございましたら、ご教示いただけますと幸いです。 併せて、時刻入力項目にて、「00分」の場合のみエラー再表示時に値が消えてしまう事象も確認しております。 例: ・13時00分 → エラー再表示後「13時 分」となる ・13時01分 → 正常保持 こちらにつきましても、JavaScript制御上注意すべき点等ございましたらご教示いただけますと幸いです。 お手数をお掛けしますが、よろしくお願いいたします。

更新日:2026年5月27日(水)
いいね

コメント

  • お問い合わせいただきありがとうございます。 >画面上には表示されていないため利用者には見えませんが、 >DB上では実際の入力値との区別がつきにくい状態となっております。 >このような運用はSPIRAL上問題ない想定でしょうか。 SPIRALフォームの入力必須をを活用しつつJSで表示制御を行う場合は 上記のご運用いただいても問題ございません。 データ上の区別がつきにくいという点が問題といえば問題になります。 >非表示項目については未送信または空欄扱いとする実装方法がございましたら、ご教示いただけますと幸いです。 SPIRALの入力必須制御は使わずJavaScriptで必須を制御する(送信ボタンが 押せなくなるなど)か演算トリガをご活用いただき、値を削除するなどの 方法がございます。 演算トリガはフォームに登録された後に動作するため、フォーム上の 必須制御の影響を受けない形になります。 ▼トリガ https://support.smp.ne.jp/manuals/db/trigger/ >併せて、時刻入力項目にて、「00分」の場合のみエラー再表示時に値が消えてしまう事象も確認しております。 値としては半角の数字で00でも0でも登録可能となっております。 例えば00をダミー時の値として削除してしまっているなどの可能性は ございませんでしょうか。 JavaScript以外ですとフィールド別チェック設定にて入力範囲を設定いただいた場合、(例えば13:01-19:00)値によってはエラーとなる可能性がございます。 分が消えていることからJavaScriptの動作についても ご確認いただけますでしょうか。 ご確認よろしくお願いします。

    • いいね
    2026年5月26日(火)
  • M.K

    ご回答ありがとうございます。 ①演算トリガについて ご提案いただいた「演算トリガによる不要項目の空欄化」について確認したく存じます。 実現したい内容としては、 ・送迎タイプ=空港送迎  → 駅送迎側項目を空欄化 ・送迎タイプ=駅送迎  → 空港送迎側項目を空欄化 といった、条件による不要項目の値削除です。 演算トリガ上で、どの機能(条件分岐/値代入等)を使用して設定すればよいか、可能であれば設定イメージや参考例をご教示いただけますでしょうか。 ②併せて、時刻入力項目にて、「00分」の場合のみエラー再表示時に値が消えてしまう事象 確認したところ、「00」をダミー値削除対象として扱っていたことが原因でした。 ただ、時刻として成立しない値はSPIRAL側制御により入力できないため、 ダミー値を利用した運用自体に限界を感じております。 一方、時刻フィールド仕様との兼ね合いも影響している可能性があり、 別フィールド形式の利用も検討しております。 今回のように、「hh」「mm」を分けて入力し、JavaScriptで表示制御を行うケースにおいて、推奨されるフィールド形式や実装方法がございましたら、 ご教示いただけますでしょうか。 どうぞよろしくお願いいたします。

    • いいね
    2026年5月27日(水)
  • ご連絡いただきましてありがとうございます。 > ①演算トリガについて 条件分岐につきましては、ご記載いただいております、「送迎タイプ」の値により分岐ください。 演算トリガのIF文にて、【セレクトフィールド = ラベル値】などの条件を指定することが可能です。 値を空欄(null)で更新する場合には、null更新用のフィールドをご用意いただく必要がございます。 「null更新用のフィールド」をご用意いただき、ifの条件に当てはまった際に【該当のフィールド = null更新用のフィールド】とすることで、 値をnullで更新することが可能となります。 本件の場合に実装する演算トリガのイメージは下記となります。 ▼演算トリガのイメージ ・IF【送迎タイプ = 空港送迎】 ・送迎ルート = null更新用セレクト ・利用希望時刻 = null更新用時刻 ※送迎ルート、利用希望時刻が駅送迎の場合に値が入力される値の想定です。 演算トリガにつきましては、下記をご参照ください。 ▼演算トリガ https://support.smp.ne.jp/manuals/trigger4/ > ②併せて、時刻入力項目にて、「00分」の場合のみエラー再表示時に値が消えてしまう事象 日付以外の制御ですと、「数字・記号・アルファベット」での数字のみ、入力できる数字に制限をかけることや、 セレクトフィールドで項目を時間に変更し選択させることも可能ですが、抽出ルールで使用できないことや、 時間的に正しくない値「99」などが入力される可能性がございますので、推奨される方法ではございません。 代わりにダミーデータとして、「99」を入れることができるようになりますので、使用する目的や運用に応じてご検討いただけますと幸いです。 ご確認の程、よろしくお願いいたします。

    • いいね
    2026年5月27日(水)
あなたもログインして、
回答してみませんか?
質問がまとまらない方へ チャットコミュニティで気軽に聞いてみよう! 疑問や課題が整理できていなくても問題ありません。SPIRAL®で解決できる範囲がまだわからなくても質問できます。「ここで聞くと場違いかな?」というお悩みでも歓迎します。
  • Discordで聞く
  • Slackで聞く