2017-09-28 17 views
0

我试图创建一个窗体,用于输入计算机或电视作为电子产品。我希望用户首先选择他所进入的两个人中的哪一个,并且取决于他选择哪一个,他将有不同的东西来填充。php:表单显示更多的选项取决于哪个单选按钮检查

我试图写这个,但它不起作用。我在$ answer = $ _POST ['type'];
请让我知道什么是错的,我有点新的PHP。谢谢。

<div class="form-group"> 
     <h3 style="color:blue;">Type of Item</h1> 

     <form name ="form1" method ="post"> 
     <input type="radio" name="type" value="Computer"> Computer<br> 
     <input type="radio" name="type" value="Television"> Television<br> 
     </form> 
    </div> 

    <?php 
     $answer = $_POST['type']; 
     if ($answer == "Computer") {   
      //show stuff  
     } 
     else { 
      //show other stuff 
     }   
    ?> 
+0

你的表单需要一个提交按钮或JavaScript处理click事件 – j08691

+0

PHP将需要一个页面提交之前,$ _ POST将有什么在它 - javascript/jquery可以做到这一点,而无需重新加载页面。 – Typel

回答

0

$_POST在表单实际提交之前将为空。您的表单没有提交按钮。也就是说,这种类型的任务通常更好地在JavaScript中完成,因为它不需要完整的页面重新加载就可以打开表单中的下一组选项。

这里有一个如何这可能会使用一个简单的JavaScript函数的示例:

<script type="text/javascript"> 
function toggleOptions() { 
    if (document.getElementById('type_Computer').checked) { 
     document.getElementById('nextSetOfComputerOptions').style.display = ''; 
     } else { 
     document.getElementById('nextSetOfComputerOptions').style.display = 'none'; 
     } 
    } 
</script> 


<input type="radio" name="type" id="type_Computer" value="Computer" onclick="toggleOptions();"> 

<div id="nextSetOfComputerOptions" style="display:none;"> 
<!-- more form fields --> 
</div> 
相关问题