ジャンプページ(開始画面)


問1 あなたの名前を入力してください

問2 あなたが一番使用しているOSを一つ選んでください

Windows
Macintosh
Unix
その他




この入力フォームのソース

<form name="TEST" method="POST" action="01_1.html">

問1 あなたの名前を入力してください
<input type="text" name="Q01" size="20"><br><br>

問2 あなたが一番使用しているOSを一つ選んでください<br><br>
<input type="radio" value="Windows" name="Q02" checked>Windows<br>
<input type="radio" value="Macintosh" name="Q02">Macintosh<br>
<input type="radio" value="Unix" name="Q02">Unix<br>
<input type="radio" value="Other" name="Q02">その他<br>

<input type="hidden" value="next" name="action">
<input type="hidden" value="1" name="jumpage">
<input type="hidden" value="Q02" name="jmpvari">
<input type="hidden" value="Windows;Macintosh;Unix;Other" name="jmpvalue">
<input type="hidden" value="01_1.html;01_2.html;02.html;02.html" name="nexturl">

<p><input type="submit" value="次のページ" name="submit"></p>
</form>

注意事項

  1. 設問の回答内容によってページを振り分けることができます。

  2. 以下のようにjumpageの値を1にすることでこのページがジャンプページとなります。
     <input type="hidden" value="1" name="jumpage">

  3. 条件分岐の設問は以下のようにjmpvariで指定します。
    この場合、Q02の回答によって分岐します。
     <input type="hidden" value="Q02" name="jmpvari">

  4. 条件分岐の値と分岐先は以下のようにjmpvalueとnexturlで指定します。
    選択肢の値と分岐先は;で区切ります。この場合、Q02の回答がWindowsのときは01_1.html、Macintoshのときは01_2.html...となります。
     <input type="hidden" value="Windows;Macintosh;Unix;Other" name="jmpvalue">
     <input type="hidden" value="01_1.html;01_2.html;02.html;02.html" name="nexturl">

  5. この分岐によって、以後の設問の流れは以下のようになります。
       Q01-->Q02 (Windows)--->Q03_1-->Q05
        -->Q02 (Macintosh)->Q03_2-->Q05
        -->Q02 (Unix)-------------->Q05
        -->Q02 (Other)------------->Q05
    したがって、Windowsを選ぶとQ03_1の設問がなくなります。Macintoshを選ぶとQ03_2がなくなります。そしてUnixとOtherではQ03_1とQ03_2がスキップされます。

  6. allnameの指定
    最後の設問のページでallnameで保存する設問名を指定するときは、スキップした設問もすべて保存してください。たとえば、UnixやOtherを選んだ回答者はQ03_1やQ03_2の設問をスキップしますが、allnameの中にこれらの設問も入れておいてください。

  7. <form>タグのaction
    <form>タグのactionはwebsurvey.cgiのパスを絶対パスで指定するか、この例のように条件分岐で選択されるページのどれか一つのURLを相対パスで入れてください。

  8. 上級者向け 条件式による分岐
    条件式を用いてジャンプ先を決めることもできます。たとえば、Q01が年齢を数値で入力してもらう設問の場合、以下のようにして年齢別に分岐することができます。
     <input type="hidden" value="$input{'Q01'}<20;($input{'Q01'}>=20) and ($input{'Q01'}<60);$input{'Q01'}>=60" name="jmpcond">
     <input type="hidden" value="01_1.html;01_2.html;01_3.html" name="nexturl">

    jmpcondの値に条件式1;条件式2;...としておくと、条件式1が成立したときにURL1がジャンプ先となります。各設問の変数名は$input{'変数名'}、条件式の表現はperlと同じです。なお、変数名と値による分岐と条件式による分岐は同時に使うことはできません。

  9. その他の注意事項はexample1基本構成と同じです。example1を参照してください。