如果输入字段为空,则禁用提交按钮

时间:2018-04-25 10:06:51

标签: php html mysqli

**你好..我知道我的问题类型之前已经在不同的问题中得到了解答;但是我尝试了所有这些......没有用过!所以请看看我的问题。

我有一个包含表单输入字段的表,其中值来自数据库。我不想要编辑值。所以使用" readonly"。但问题是:当readonly被删除时,通过浏览器的inspect元素..然后可以编辑值并且可以提交空白输入!所以我想禁用编辑,或者至少想要在输入字段为空时禁用提交按钮。**

表格的代码:

 <?php
        if (isset($_POST['show'])) {

            $class = $_POST["Class"];
            $sql = "SELECT * FROM students WHERE Class='$class'  ORDER BY Roll ";
            $result = $conn->query($sql);

            if ($result->num_rows > 0) {
                // output data of each row
                ?>


                    <form action="" method="POST">
                        <table class="table table-bordered table-hover" style="width: 85%;text-align: center">

                            <tr >
                                <th>Roll</th>
                                <th>Student's Name</th>
                                <th>Attendance</th>


                            </tr>
                            <?php while ($row = $result->fetch_assoc()) { ?>
                                <tr>
                                    <td><input value="<?php echo $row['Roll']; ?>" name="Roll[]" readonly required=""/></td>
                                    <td><input value="<?php echo $row['Name']; ?>" name="Name[]" readonly required=""/></td>
                                    <td><select name="Status[]">
                                            <option value="0">0</option>
                                            <option value="1">1</option>
                                        </select></td>

                                </tr>

                            <?php } ?>

                        </table>
                        <input type="submit" name="save" value="Save" style="width: 50%;margin-left: 20%">

                    </form>

                <?php
            } else {
                $message = "Sorry! No result!";
                    echo "<script type='text/javascript'>alert('$message');</script>";
            }
            $conn->close();
        }
        ?>

插入代码:

<?PHP
        if (isset($_POST["save"])) {

        foreach ($_POST["Roll"] as $rec => $value) {
                $Roll = $_POST["Roll"][$rec];

                $Name = $_POST["Name"][$rec];
                $Status = $_POST["Status"][$rec];
                $Date = date('Y-m-d');
                $sql = "INSERT INTO `attendance`(`id`, `Date`, `Roll`, `Name`, `Status`) VALUES ('','$Date','$Roll','$Name','$Status')";


            }
            if ($conn->query($sql) === TRUE) {
                    $message = "Saved !";
                    echo "<script type='text/javascript'>alert('$message');</script>";
                } else {
                    echo "Error: " . $sql . "<br>" . $conn->error;
                }
        }
        ?>

2 个答案:

答案 0 :(得分:0)

这是不输入空字段的正确方法

           $class = $_POST["Class"];
          if(!empty($class)) {
            $sql = "SELECT * FROM students WHERE Class='$class'  ORDER BY DESC or ASC";
            $result = $conn->query($sql);

            if ($result->num_rows > 0) {
                // output data of each row
 }
}
                ?>

答案 1 :(得分:0)

我编辑了部分代码以禁止编辑。我希望它能满足你的需求。我在输入标签上使用了disabled属性。

  <tr>
                                <td><input value="<?php echo $row['Roll']; ?>" name="Roll[]" disabled/></td>
                                <td><input value="<?php echo $row['Name']; ?>" name="Name[]" disabled/></td>
                                <td><select name="Status[]">
                                        <option value="0">0</option>
                                        <option value="1">1</option>
                                    </select></td>

                            </tr>