2017-07-09 16 views
0

ラジオボタンとロジックを使用して異なる診断結果を生成して表示するフォーム(クイズのようなもの)を作成しようとしています。私はロジックようの残りの部分を設定するにはどうすればよいラジオボタン+ロジック付きフォーム

<form action='index.php' method='post'> 
    Q1: Does Patient experience Symptom X? 
    <br/> 
    <label><input type="radio" name="Q1" value="Q1Y"/> Yes</label> &nbsp; 
    <label><input type="radio" name="Q1" value="Q1N"/> No</label> 
    <br/> 
    <br/> 

    Q2: Does Patient experience Symptom Y? 
    <br/> 
    <label><input type="radio" name="Q2" value="Q2Y"/> Yes</label> &nbsp; 
    <label><input type="radio" name="Q2" value="Q2N"/> No</label> 
    <br/> 
    <br/> 

    Q3: Does Patient experience Symptom Z? 
    <br/> 
    <label><input type="radio" name="Q3" value="Q3Y"/> Yes</label> &nbsp; 
    <label><input type="radio" name="Q3" value="Q3N"/> No</label> 
    <br/> 
    <br/> 

    <input type="submit" name="formSubmit" value="See Result"/> 
    <br/> 

:ここでは、フォーム構造のいくつかは(多くのオプションがあるとロジックが実際のバージョンでは、より重いです)のために私が持っているものである

If (Q1Y && Q2Y){ 
Diagnosis = A; 
} 

If (Q2Y && Q3Y){ 
Diagnosis = B; 
} 

診断は、ユーザーがフォーム上で[submit]をクリックすると、変数に格納され、現在のページに表示されるのが理想的です。

+0

あなたがPHPを提出し、フォーム上でこれを実行しようとしている、または彼らはJSとの3つのオプションをクリックするか、フォームを停止した後、 JSと一緒に提出し、JSだけでもロジックを実行していますか? 'index.php'にあるものが分かっていると分かります。 – chris85

答えて

1
if(($_POST['Q1']=='Q1Y') && ($_POST['Q2']=='Q2Y')) 
{ 
// Your Logic 
} 
if(($_POST['Q2']=='Q2Y') && ($_POST['Q3']=='Q3Y')) 
{ 
// Your Logic 
} 
1

すべての回答の組み合わせの結果を保持するためにネストされたオブジェクトを使用します。

var allDiagnosis = { 
    Q1Y: { 
     Q2Y: { 
      Q3Y: 'A', 
      Q3N: 'B' 
     }, 
     Q2N: { 
      Q3Y: 'C', 
      Q3N: 'D' 
     }, 
    Q1N: { 
     Q2Y: { 
      Q3Y: 'E', 
      Q3N: 'F' 
     }, 
     Q2N: { 
      Q3Y: 'G', 
      Q3N: 'H' 
     } 
    } 
} 

次に、各入力の値を取得し、実行します。

var diagnosis = allDiagnosis[value1][value2][value3]; 
関連する問題