在提交时不会更新php格式的切换案例

时间:2013-06-07 19:06:24

标签: php

使用答案here。我根据文本字段CallType的输入为另一个表单元素设置了一个表单元素大小写开关,如下所示:

 <select id="CallType" name="CallType">
   <option value="1">1</option>
   <option value="2">2</option>
 </select>

然后我像这样设置我的case开关,但是在表单上,​​值没有插入到我的数据库中。我可以通过使用静态CallDesc文本字段来测试它,并且表单插入正常。我做错了什么?

示例切换:

  <?php 
    switch($_POST['CallType']) {

        case '1':
        echo '<input id="CallDesc" name="CallDesc" type="text" value="Air-conditioner / Heat Pumps" class="formTextfield_Medium" tabindex="3">';
        break;
        case '2':
        echo '<input id="CallDesc" name="CallDesc" type="text" value="Refrigerator / Ice (Makers/Machines) / Wine Cooler" class="formTextfield_Medium" tabindex="3">';
        break;
    }
  ?>

3 个答案:

答案 0 :(得分:0)

您的选择名称是CallType,而不是SPG_CallType。

此外,您可能更容易使用关联数组甚至更好的数据库来管理它,而不是使用switch语句。

答案 1 :(得分:0)

您需要将其置于POST表单中才能使其正常工作:

 <form action="" method="post">
 <select id="CallType" name="CallType">
   <option value="1">1</option>
   <option value="2">2</option>
 </select>
 <input type="submit" />
 </form>

然后PHP发布了它的工作原理:

<?php 
switch($_POST['CallType']) {

    case '1':
    echo '<input id="CallDesc" name="CallDesc" type="text" value="Air-conditioner / Heat Pumps" class="formTextfield_Medium" tabindex="3">';
    break;
    case '2':
    echo '<input id="CallDesc" name="CallDesc" type="text" value="Refrigerator / Ice (Makers/Machines) / Wine Cooler" class="formTextfield_Medium" tabindex="3">';
    break;
}
?>

因为在表单中我放了action =“”,PHP显然必须在同一页面上。我应该注意,在这种情况下,如果需要动态,我通常会使用Javascript或AJAX;只是因为我在填写表格烦人时发现页面加载。

答案 2 :(得分:-2)

我没有包含POST表单元素。我选择在Javascript中执行此操作,它更容易。 Solution found here