開発情報・ナレッジ

投稿者: SPIRERS ナレッジ向上チーム 2025年9月25日 (木)

フォーム作成後にフィールドタイプを変更する方法

フォームを作成した後に文字数などの関係でフィールドタイプを変更したい場合があります。
SPIRAL ver.1ではDBに設定しているフィールドのフィールドタイプを後から変更することができません。
変更する場合はDBに新たなフィールドを追加し、フォーム上フィールドを差替える対応が必要になります。
本記事ではフィールドの変更の流れをご案内します。

こんな方に向けて書いています

「テキストフィールド(32 bytes)」でフォームを構築したが、文字数超過でエラーが出てしまうので
「テキストフィールド(128 bytes)」に変更したい
「セレクト」でフォームを構築したが、複数選択可にしたいので「マルチテキスト」に変更したい

その他、後からフィールドタイプを変更したい場合は下記の手順をご確認ください。

設定時の注意事項
稼働中のDBで既存データがある場合はフィールドのフォーム表示変更後は新しいフィールドにデータが入ります。
既存データと変更後に登録されたデータの登録先フィールドが異なりますのでご注意ください。

DBに新たなフィールドを追加する

1.フォームに紐づく該当のDB設定を開き、左側メニューの「フィールド」をクリック
2.画面最下部の「構成変更」をクリック
3.変更したいフィールドタイプを決めて「>」ボタンでDBに追加する

追加したらフィールド名と差替えキーワードを設定します。
今回はわかりやすいように変更前のフィールドに「旧」、変更後のフィールドに「新」を付けています。

4.追加したフィールドがセレクトやマルチセレクトの場合、歯車ボタン>「ラベル設定」等も行う

既存フィールドと同じ内容の選択肢にしたい場合は、旧フィールドのラベル設定画面で「TSVデータ入力」に
チェックを入れ全選択コピーし、新フィールドのラベル設定に貼付けを行うと簡易に設定可能です。

5.フィールドの設定が完了したら「保存」>「OK」をクリック
6.【必要な場合のみ】旧フィールドの必須属性を外す

今回非表示としたいフィールドがDB上入力必須の属性であった場合、フォーム設定側で非表示とすると予期せぬエラーが発生してしまいます。
フィールド構成画面の右上「属性変更」ボタン>旧フィールドの「入力必須:〇」右横の「変更」>「変更」をクリックし、必須属性の解除をします。
※旧フィールドの入力必須の項目に「〇」が表示されていない場合は変更不要です。
※DB上必須を解除してもフォーム側の必須設定は残ります。

DB設定のポイント
・旧のフィールドを削除するとDBにデータが入っていた場合、そのフィールドに登録されていたデータも削除されます。
 フォーム上は非表示にするため、旧のフィールドの削除は基本的には不要です。
 ただし、運用上削除される場合には、旧のフィールドに入っていたデータを新のフィールドに
 入れ直す等の作業を行った上で、削除をお願いいたします。
・DB設定を一度保存すると後から追加したフィールドと順番を入れ替えることができません。
 DBオペレーション画面やデータ一括出力ではフィールド順を変更することができるので下記もご参照ください。
 DBオペレーションで検索した結果一覧の項目の順番を変更したい
 データ一括出力の便利な使い方
・DBに新しいフィールドを追加しても即時でフォーム表示には反映されません。
・フォーム上項目に「(新)」等を表示したくない場合、フォーム設定側でタイトルの修正が可能です。

フォーム設定変更

フォーム設定変更前の注意事項
運用中のフォームへ変更を反映する場合、フォームアクセス中のユーザーに少なからず影響を及ぼす可能性があります。
下記の対応を検討の上反映作業をお願いいたします。
・登録の少ない時間帯で反映作業を行う。
・一時的にフォームを締め切り状態とする。フォームの締め切りを設定したい
・作業者のIPアドレスのみアクセス可とする設定を行い、ユーザーのアクセスを制限する。
 フォームの「セキュリティ」とはどのような機能ですか?
1.使用フィールドの変更

「Web」タブ>「フォーム」>該当のフォーム名をクリックし、該当のフォーム設定を開いたら、
左側メニューの「使用フィールド」をクリックします。
※操作前は追加したフィールドは「使用しない」設定になっています。
非表示としたい「旧」のフィールドは「使用しない」、新しく追加した「新」のフィールドを「入力項目として使用する」とし、「変更」>「一時保存」をクリックします。
※「一時保存」をクリックすると即時フォームに反映されません。
設定内容を保存して他ページでの保存内容もまとめて最後に反映させることが可能です。

2.フィールド別チェックの変更

左側メニューの「フィールド別チェック」をクリックし、画面上部のプルダウンから追加したフィールドを選択します。
「項目タイトル」の項目で表示したい項目名に編集し、入力必須等必要な設定を行い、「変更」>「一時保存」をクリックします。
追加フィールドが複数ある場合は同様に設定します。
※画面右上の「保存して次のフィールドへ」のボタンをクリックすると、設定内容を一時保存し他フィールドの設定画面へ移動できます。

3-1.入力ページの変更(設定デザインの場合)

※デザインが「ソースデザイン」の場合は「3-2.【参考】入力ページの変更(ソースデザインの場合)」をご確認ください。
左側メニューの「入力ページ」をクリックします。
「項目の表示順」の設定個所で新しく追加したフィールドを選択>「∧」をクリックし適当な位置に移動し「変更」>「一時保存」をクリックします。

3-2.【参考】入力ページの変更(ソースデザインの場合)

※デザインが「設定デザイン」の場合は「3-1.入力ページの変更(設定デザインの場合)」をご確認ください。
左側メニューの「入力ページ」設定画面にて設置ソースの編集を行います。
ソース編集の前にソース設置枠上の「ファイル」>「ソースデザイン」ボタンをクリックし、現状のバックアップソースを取得します。
非表示としたいフィールドの記述から新しく追加したフィールドの記述に変更し、画面左上の「プレビュー」で確認し問題なければ画面最下部の「変更」>「一時保存」をクリックします。

フォーム反映時の注意事項・補足事項
・ソースデザインの場合、入力ページだけではなく確認ページのHTMLソースの修正も必要です。
 左側メニューの「確認ページ」から確認・編集をお願いいたします。
・ソースの編集をする際は必ず「ソースデザイン」ボタンからバックアップの取得をお願いいたします。
・スパイラルのデフォルトソースの確認をする場合は「ファイル」>「設定デザイン」ボタンからDLしたHTMLファイルをご確認ください。
・変更する前に必ず「プレビュー」ボタンで確認をお願いいたします。
・メモ帳等の編集エディタでソースを編集し、現状設置されているソースと差分比較ツールで比較してからの反映ですと反映時のミスを減らすことができます。
4.変更反映

左側メニューの「トップページ」をクリック
画面最下部の「変更内容をフォームに反映」>「反映」をクリックし、フォームに保存内容を反映させる。

※反映前の一時保存内容がない場合は「変更内容をフォームに反映」ボタンはグレーアウトし押せない状態になります。
作業時は最後に必ずこのボタンの状態で反映漏れが無いかをご確認ください。
5.テスト登録・確認

フォームに変更内容を反映したら、フォームURLへアクセスし、テスト登録をお試しください。
テスト登録後、DBオペレーション等で追加した新しいフィールドにデータが想定通りに入っているかをご確認ください。

参考リンク

稼働中のフォームにフィールド(質問項目)を追加したい
稼働中のフォームのフィールド(質問項目)を削除したい
はじめてのDB作成
フィールドタイプリファレンス
解決しない場合はこちら コンテンツに関しての
要望はこちら