0

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

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

然后我像这样设置我的案例开关,但是在表单发布时,值没有插入到我的数据库中。我可以使用静态 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;
    }
  ?>
4

3 回答 3

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;仅仅是因为我在填写表格时发现页面加载很烦人。

于 2013-06-07T20:42:30.160 回答
0

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

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

于 2013-06-07T19:07:26.040 回答
-2

我没有包含 POST 表单元素。我选择在 Javascript 中执行此操作,它更容易。 解决方案在这里找到

于 2013-06-07T20:15:21.003 回答