2017-07-09 97 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; 
} 

理想情況下,診斷將存儲在變量中,然後在用戶單擊表單上的提交時顯示在當前頁面上。

+0

您正在試圖做到這一點的形式用PHP提交,或者在他們點擊三個選項與JS,或停止形式提交與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];