单选按钮值if语句

时间:2013-07-23 02:09:15

标签: php forms if-statement radio-button radio-group

我想在IF语句中使用几组单选按钮(或者如果你有更好的解决方案)

用户将进入该站点,选择按钮,然后选择提交。提交后,我希望用户立即查看他们是否应该“refer patient”或“don't refer patient”。 我不确定几件事:

  1. 如何使“提交”按钮导致计算输入(意味着,用户获得即时响应)
  2. 由于有几种输入组合可以创建“引用”或“不引用”响应,我可以在IF语句中添加多个条件吗?另外,如何在语句中包含单选按钮 - 我只使用按钮的“值”。我只学习了使用数字的基本方法..
  3. 以下是我的代码。我试图用值启动IF语句。不确定是否正确。

    非常感谢任何帮助!

    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>Indications for Mohs</title>
    <?php
        $Patient_status='unchecked';
        $Primary_status='unchecked';
        $Type_status='unchecked';
        $BCCT_status='unchecked';
        $SCCT_status='unchecked';
        $Size_status='unchecked';
        $Area_status='unchecked';
        if (isset($_POST['Submit'])) {
            $selected_radio=$_POST['REFER'];
            if (selected_radio == "Healthy" && "Primary" && "BCC" && "Aggressive" && "<0.6" && "H" or "Immunocompromised" && "Primary" && "BCC" && "Aggressive" && "<0.6" && "H")
    
    ?>
    </head>
    <body>
    <form name="Indications" action="" method="POST">
    <p><h2><strong><u>Indications for Mohs Surgery</u></strong></h2> 
    </p>
    <strong>Patient </strong>
    <div alighn="center"><br>
          <input type="radio" name="Patient" value="Healthy">Healthy<br>
          <input type="radio" name="Patient" value="Immunocompromised">Immunocompromised<br>
          <input type="radio" name="Patient" value="Genetic">Genetic Syndrome<br>
        <hr>
    <strong>Primary vs Recurrent</strong>
    <div alighn="center"><br>
          <input type="radio" name="Primary" value="Primary">Primary<br>
          <input type="radio" name="Primary" value="Recurrent">Recurrent<br>
          <hr>
    <strong>Type</strong>
    <div alighn="center"><br>
          <input type="radio" name="Type" value="BCC">BCC<br>
          <input type="radio" name="Type" value="SCC">SCC<br>
          <input type="radio" name="Type" value="LM">LM or MIS<br>
          <hr>
    <strong>BCC subtype</strong>
    <div alighn="center"><br>
          <input type="radio" name="BCCT" value="Aggressive">Aggressive<br>
          <input type="radio" name="BCCT" value="Nodular">Nodular<br>
          <input type="radio" name="BCCT" value="Superficial">Superficial<br>
          <hr>
    <strong>SCC subtype</strong>
    <div alighn="center"><br>
          <input type="radio" name="SCCT" value="Aggressive">Aggressive<br>
          <input type="radio" name="SCCT" value="Nonaggressive">Nonaggressive<br>
          <input type="radio" name="SCCT" value="Verrucous">Verrucous<br>
          <input type="radio" name="SCCT" value="KA">KA - type SCC<br>
          <input type="radio" name="SCCT" value="Bowen">In situ SCC/Bowen<br>
          <input type="radio" name="SCCT" value="AK">AK<br>
          <hr>
    <strong>Size (cm)</strong>
    <div alighn="center"><br>
          <input type="radio" name="Size" value="0.5"><0.6<br>
          <input type="radio" name="Size" value="0.6-1">0.6-1<br>
          <input type="radio" name="Size" value="1.1-2">1.1-2<br>
          <input type="radio" name="Size" value="2">>2<br>
          <hr>
    <strong>Area</strong>
    <div alighn="center"><br>
          <input type="radio" name="Area" value="H">H<br>
          <input type="radio" name="Area" value="M">M<br>
          <input type="radio" name="Area" value="L">L<br>
          <hr>
    <p>
      <input type="submit" name="submit" id="submit" value="Submit">
    </p>
    <p><strong><u>Definitions</u>:</strong><br>
      Nonaggressive SCC: &lt;2mm depth without other defining features, Clark level ≤III<br>
      Area H: 'Mask Areas' of face (central face, eyelids, eyebrows, nose, lips [cutaneous/mucosal/vermillion], chin, ear, and periauricular skin/sulci, temple), genitalia (including perineal and perianal), hands, feet, nail units, ankles, nipples/areola<br>
      Area M: Cheeks, forehead, scalp, neck, jawline, pretibial surface<br>
      Area L: Trunk and extremities (excluding pretibial surface, hands, feet, nail units and ankles)</p>
    </div>
    </form>
    </body>
    </html>
    

2 个答案:

答案 0 :(得分:0)

如果您希望让提交立即显示响应,您应该使用JavaScript,因为这不需要表单提交/调用服务器。您可以使用onsubmit事件。

关于检查单选按钮是否已选中,请使用元素的.checked属性:

document.getElementById('elem').checked //true or false

答案 1 :(得分:0)

该代码几乎一切都有问题。

让我们开始......

表单中没有REFER元素,因此永远不会设置$_POST['REFER']。要访问单选按钮值,您需要使用其相关名称作为$_POST[]数组的索引键进行访问。例如。 $_POST['Patient'], $_POST['Primary'] ......等。这些将为您提供该组中所选单选按钮的值。

其次,您的条件语句在if statement中是错误的。要比较条件语句,您必须每次都特别地将变量与不同的值进行比较。你不得不说

if ($selected_radio == "Healthy" && $selected_radio == "Patient") {
    // code goes here
}

另外,要检查选择了哪个单选按钮,您需要访问$_POST['<Radio_group_name>'],这将为您提供为该组选择的单选按钮的值。例如

$_POST['Patient'] 
如果用户为该组选择了一个,则

将给予Healthy