注意:未定义索引Radio&文本框

时间:2015-03-19 08:58:12

标签: php textbox radio-button

我创建了两个单选按钮,方案如下。 1.非远程检查,文本框应为只读 2.检查Dist,文本框可以填写

然而,当我进行Non-Dist检查并提交表格时,我面对以下错误并说明如下。

  

注意:未定义的索引:cust_edc_code in   第49行的C:\ xampp \ htdocs \ spa317 \ inv.php

请告知我错过了什么。提前谢谢。

CODE:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Create SPA Invoice</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
</head>

<body>
    <form action="" method="post" name="form_spa_inv">
        <table class="tb_create_spa_inv">
            <tr>
                <td>Status* : </td>
                <td>
                    <!--To set status's radio button and save it in database-->
                    <input type="radio" name="cust_status" id="cust_status1" class="status_dis_text" value="Non-Distributor" <?php if (isset($cust_status) && $cust_status=="Non-Distributor") echo "checked";?> />Non-Dist
                    <input type="radio" name="cust_status" id="cust_status2" class="status_dis_text" value="Distributor" <?php if (isset($cust_status) && $cust_status=="Distributor") echo "checked";?> />Dist
                    <!--EDC code for distributor-->
                    <input type="text" name="cust_edc_code" size="10" />
                    <script>
                        $(function() {
                            $('input[class=status_dis_text]').change(function()
                               {
                                   if ($(this).is(':checked')) {
                                       $('input[name=cust_edc_code]').attr('disabled', 'disabled');
                                       $(this).next().removeAttr('disabled');
                                   }
                               });

                            $('input[class=status_dis_text]:first').attr('checked', 'checked').change();
                        });
                    </script>
                </td>
            </tr>
        </table>

        <p style="text-align: center;"><input type="submit" name="Submit" value="Create">
    </form>
</body>
</html>

<?php
    //including the database connection file
    include_once("config_db.php");

    if(isset($_POST['Submit']))
    {
        $cust_status=$_POST['cust_status'];
        $cust_edc_code=$_POST['cust_edc_code'];

        //insert data to database   
        $insert_cust=mysql_query("INSERT INTO tb_cust(cust_status,cust_edc_code) VALUES('$cust_status','$cust_edc_code')");
    }
?>

2 个答案:

答案 0 :(得分:0)

在输入字段上设置disabled可防止将其发送到服务器。如果您只想阻止用户修改字段,请使用readonly

答案 1 :(得分:0)

<script>
    $(function() {
        $('input[class=status_dis_text]').change(function() {
            if ($(this).is(':checked')) {
                $('input[name=cust_edc_code]').attr('disabled', 'disabled');
                $(this).next().removeAttr('disabled');
            }
        });
        $('input[class=status_dis_text]:first').attr('checked', 'checked').change();
    });
</script>

该jquery代码似乎禁用了您的输入名称&#39; cust_edc_code&#39;,因此它没有被发送到服务器。

如果此行没有真正有用,请将其删除: $('input[name=cust_edc_code]').attr('disabled', 'disabled');

或将其替换为:

$('input[name=cust_edc_code]').attr('readonly', 'readonly');