首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在使用php/javascript或jquery提交form1时,停止提交其他form2

在使用php/javascript或jquery提交form1时,停止提交其他form2
EN

Stack Overflow用户
提问于 2021-09-09 15:25:48
回答 2查看 50关注 0票数 0

这是我正在做的真实代码,第一篇文章包含了同样的问题,

如您所见,Form1按钮用于控制我在此表单中使用的会话的$_SESSION‘’clicks‘值的迭代,

Form2按钮用于回显从另一个数组中检索到的对应名称的数组。

问题是,每次在form2中单击按钮或在php中调出按钮时,另一个表单或form1也会被提交。

代码语言:javascript
复制
     <?php 
        session_start();
        $results_per_page = 10;
        if (!isset($_GET['page'])) {
            $page = 1;
        }else{
            $page = $_GET['page'];
        }
        $stmt1 = $conn->prepare("SELECT*FROM doctors"); 
        $stmt1->execute();
        $stmt2 = $conn->prepare("SELECT*FROM doctors ORDER BY doctor_name ASC");
        $stmt2->execute();

        while($row = $stmt2->fetch()) {
            $result[] = [
                'name' => $row['doctor_name'],
                'degree' => $row['doctor_degree'],
                'foe' => $row['doctor_foe'],
            ];
        }
    ?>

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>
        <div>
            <form method="post">
                <?php
                    $next = "<button class='btn-nav' name='plus'>Next</button>";
                    $prev = "<button class='btn-nav' name='min'>Prev</button>";

                    $next_un = "<button class='btn-nav' name='plus' disabled>Next</button>";
                    $prev_un = "<button class='btn-nav' name='min' disabled>Prev</button>";
                    $results = count($result);
                    $num_of_pages = ceil($results/$results_per_page);

                    $clicks = 0;
                    if (isset($_POST['plus'])) {
                        $_SESSION['clicks'] += 10 ;
                    }else {
                        $_SESSION['clicks'] -= 10;
                    }

                    if ($_SESSION['clicks']>0) {
                        echo $prev;
                    }else{
                        echo $prev_un;
                    }
                    if ($_SESSION['clicks']>=($results-10)) {
                        echo $next_un;
                    }else{
                        echo $next;
                    }

                    $newarr = array_slice($result, $_SESSION['clicks'], 10);
                ?>
            </form>
        </div>
        <div>
            <table class="appt">
                <?php 
                    foreach ($newarr as $row) {
                    echo "<tr><td>".$row['name']
                        ."</td><td>".$row['degree']
                        ."</td><td>".$row['foe']."</td></tr>";
                    }

                    echo $new_count = count($newarr);
                 ?>
            </table>
            <table class="appt">
                <form method="post">
                    <tr><th>Set Appointment</th></tr>
                    <?php
                        switch ($new_count) {
                            case '10':
                                echo '<tr><td><button type="button" name="sa1">Set Appointment</button></td></tr>';
                                echo '<tr><td><button type="button" name="sa2">Set Appointment</button></td></tr>';
                                echo '<tr><td><button type="button" name="sa3">Set Appointment</button></td></tr>';
                                echo '<tr><td><button type="button" name="sa4">Set Appointment</button></td></tr>';
                                echo '<tr><td><button type="button" name="sa5">Set Appointment</button></td></tr>';
                                echo '<tr><td><button type="button" name="sa6">Set Appointment</button></td></tr>';
                                echo '<tr><td><button type="button" name="sa7">Set Appointment</button></td></tr>';
                                echo '<tr><td><button type="button" name="sa8">Set Appointment</button></td></tr>';
                                echo '<tr><td><button type="button" name="sa9">Set Appointment</button></td></tr>';
                                echo '<tr><td><button type="button" name="sa10">Set Appointment</button></td></tr>';
                                break;
                            case '9':
                                echo '<tr><td><button name="sa1">Set Appointment</button></td></tr>';
                                echo '<tr><td><button name="sa2">Set Appointment</button></td></tr>';
                                echo '<tr><td><button name="sa3">Set Appointment</button></td></tr>';
                                echo '<tr><td><button name="sa4">Set Appointment</button></td></tr>';
                                echo '<tr><td><button name="sa5">Set Appointment</button></td></tr>';
                                echo '<tr><td><button name="sa6">Set Appointment</button></td></tr>';
                                echo '<tr><td><button name="sa7">Set Appointment</button></td></tr>';
                                echo '<tr><td><button name="sa8">Set Appointment</button></td></tr>';
                                echo '<tr><td><button name="sa9">Set Appointment</button></td></tr>';
                                break;
                            case '8':
                                echo '<tr><td><button name="sa1">Set Appointment</button></td></tr>';
                                echo '<tr><td><button name="sa2">Set Appointment</button></td></tr>';
                                echo '<tr><td><button name="sa3">Set Appointment</button></td></tr>';
                                echo '<tr><td><button name="sa4">Set Appointment</button></td></tr>';
                                echo '<tr><td><button name="sa5">Set Appointment</button></td></tr>';
                                echo '<tr><td><button name="sa6">Set Appointment</button></td></tr>';
                                echo '<tr><td><button name="sa7">Set Appointment</button></td></tr>';
                                echo '<tr><td><button name="sa8">Set Appointment</button></td></tr>';
                                break;
                            case '7':
                                echo '<tr><td><button name="sa1">Set Appointment</button></td></tr>';
                                echo '<tr><td><button name="sa2">Set Appointment</button></td></tr>';
                                echo '<tr><td><button name="sa3">Set Appointment</button></td></tr>';
                                echo '<tr><td><button name="sa4">Set Appointment</button></td></tr>';
                                echo '<tr><td><button name="sa5">Set Appointment</button></td></tr>';
                                echo '<tr><td><button name="sa6">Set Appointment</button></td></tr>';
                                echo '<tr><td><button name="sa7">Set Appointment</button></td></tr>';
                                break;
                            case '6':
                                echo '<tr><td><button name="sa1">Set Appointment</button></td></tr>';
                                echo '<tr><td><button name="sa2">Set Appointment</button></td></tr>';
                                echo '<tr><td><button name="sa3">Set Appointment</button></td></tr>';
                                echo '<tr><td><button name="sa4">Set Appointment</button></td></tr>';
                                echo '<tr><td><button name="sa5">Set Appointment</button></td></tr>';
                                echo '<tr><td><button name="sa6">Set Appointment</button></td></tr>';
                                break;
                            case '5':
                                echo '<tr><td><button name="sa1">Set Appointment</button></td></tr>';
                                echo '<tr><td><button name="sa2">Set Appointment</button></td></tr>';
                                echo '<tr><td><button name="sa3">Set Appointment</button></td></tr>';
                                echo '<tr><td><button name="sa4">Set Appointment</button></td></tr>';
                                echo '<tr><td><button name="sa5">Set Appointment</button></td></tr>';
                                break;
                            case '4':
                                echo '<tr><td><button name="sa1">Set Appointment</button></td></tr>';
                                echo '<tr><td><button name="sa2">Set Appointment</button></td></tr>';
                                echo '<tr><td><button name="sa3">Set Appointment</button></td></tr>';
                                echo '<tr><td><button name="sa4">Set Appointment</button></td></tr>';
                                break;
                            case '3':
                                echo '<tr><td><button name="sa1">Set Appointment</button></td></tr>';
                                echo '<tr><td><button name="sa2">Set Appointment</button></td></tr>';
                                echo '<tr><td><button name="sa3">Set Appointment</button></td></tr>';
                                break;
                            case '2':
                                echo '<tr><td><button name="sa1">Set Appointment</button></td></tr>';
                                echo '<tr><td><button name="sa2">Set Appointment</button></td></tr>';
                                break;
                            default:
                                echo '<tr><td><button name="sa1">Set Appointment</button></td></tr>';
                                break;
                        }
                    ?>
                </form>
            </table>
        </div>
        <?php 
            $sa1 = $_POST['sa1'] ?? '';
            $sa2 = $_POST['sa2'] ?? '';
            $sa3 = $_POST['sa3'] ?? '';
            $sa4 = $_POST['sa4'] ?? '';
            $sa5 = $_POST['sa5'] ?? '';
            $sa6 = $_POST['sa6'] ?? '';
            $sa7 = $_POST['sa7'] ?? '';
            $sa8 = $_POST['sa8'] ?? '';
            $sa9 = $_POST['sa9'] ?? '';
            $sa10 = $_POST['sa10'] ?? '';


            if (isset($_POST['sa1'])) {
                echo $newarr[0]['name'];
                echo $newarr[0]['degree'];
                echo $newarr[0]['foe'];
            }else if (isset($_POST['sa2'])) {
                echo $newarr[1]['name'];
                echo $newarr[1]['degree'];
                echo $newarr[1]['foe'];
            }else if (isset($_POST['sa3'])) {
                echo $newarr[2]['name'];
                echo $newarr[2]['degree'];
                echo $newarr[2]['foe'];
            }else if (isset($_POST['sa4'])) {
                echo $newarr[3]['name'];
                echo $newarr[3]['degree'];
                echo $newarr[3]['foe'];
            }else if (isset($_POST['sa5'])) {
                echo $newarr[4]['name'];
                echo $newarr[4]['degree'];
                echo $newarr[4]['foe'];
            }else if (isset($_POST['sa6'])) {
                echo $newarr[5]['name'];
                echo $newarr[5]['degree'];
                echo $newarr[5]['foe'];
            }else if (isset($_POST['sa7'])) {
                echo $newarr[6]['name'];
                echo $newarr[6]['degree'];
                echo $newarr[6]['foe'];
            }else if (isset($_POST['sa8'])) {
                echo $newarr[7]['name'];
                echo $newarr[7]['degree'];
                echo $newarr[7]['foe'];
            }else if (isset($_POST['sa9'])) {
                echo $newarr[8]['name'];
                echo $newarr[8]['degree'];
                echo $newarr[8]['foe'];
            }elseif (isset($_POST['sa10'])) {
                echo $newarr[9]['name'];
                echo $newarr[9]['degree'];
                echo $newarr[9]['foe'];
            }
            //session_destroy();
         ?>
    </body>
    </html>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-09-09 15:37:10

嗨,我想我明白你想说什么了。

只需用以下代码包装表单中的逻辑即可:

代码语言:javascript
复制
<?php 

   if(isset($_POST['btn1'])) {
     //Code for form 1
   }

   if(isset($_POST['btn2'])) {
     //Code for form 2
   }
票数 1
EN

Stack Overflow用户

发布于 2021-09-09 17:59:38

很抱歉打扰你们,我找到我的错误了。正是会话‘’click‘的if else触发了导致提交所述form1的事件。并感谢您的建议,使我的代码更简短!

代码语言:javascript
复制
            <?php 
                include 'connection.php';
                session_start();
                $results_per_page = 10;
                if (!isset($_GET['page'])) {
                    $page = 1;
                }else{
                    $page = $_GET['page'];
                }
                $stmt1 = $conn->prepare("SELECT*FROM doctors"); 

                $stmt1->execute();

                $stmt2 = $conn->prepare("SELECT*FROM doctors ORDER BY doctor_name ASC");
                $stmt2->execute();

                while($row = $stmt2->fetch()) {
                    $result[] = [
                        'name' => $row['doctor_name'],
                        'degree' => $row['doctor_degree'],
                        'foe' => $row['doctor_foe'],
                    ];
                }
            ?>

            <!DOCTYPE html>
            <html>
            <head>
                <meta charset="utf-8">
                <title></title>
                <style type="text/css">
                    th, td{
                        width: 200px;
                        text-align: left;
                    }
                    div{
                        display: flex;
                    }
                </style>
            </head>
            <body>
                <div>
                    <form method="post">
                        <?php
                            $next = "<button class='btn-nav' name='plus'>Next</button>";
                            $prev = "<button class='btn-nav' name='min'>Prev</button>";

                            $next_un = "<button class='btn-nav' name='plus' disabled>Next</button>";
                            $prev_un = "<button class='btn-nav' name='min' disabled>Prev</button>";
                            $results = count($result);
                            $num_of_pages = ceil($results/$results_per_page);

                            $clicks = 0;
                            if (isset($_POST['plus'])) {
                                $_SESSION['clicks'] += 10 ;
                            }else if (isset($_POST['min'])){
                                $_SESSION['clicks'] -= 10;
                            }

                            if ($_SESSION['clicks']>0) {
                                echo $prev;
                            }else{
                                echo $prev_un;
                            }
                            if ($_SESSION['clicks']>=($results-10)) {
                                echo $next_un;
                            }else{
                                echo $next;
                            }

                            $newarr = array_slice($result, $_SESSION['clicks'], 10);
                        ?>
                    </form>
                </div>
                <div>
                    <table class="appt">
                        <tr>
                            <th>Doctor's Name</th>
                            <th>Educational Background</th>
                            <th>Field of Expertise</th>
                            <th>Set An Appointment</th>
                        </tr>
                        <?php 
                            foreach ($newarr as $row) {
                            echo "<tr><td>".$row['name']
                                ."</td><td>".$row['degree']
                                ."</td><td>".$row['foe']."</td></tr>";
                            }

                            echo $new_count = count($newarr);
                         ?>
                    </table>
                    <table class="appt">
                        <form method="post">
                            <tr><th>Set Appointment</th></tr>
                            <?php for ($i=1; $i < ($new_count+1); $i++): ?>
                                <?php echo '<tr><td><button id="submit" name="sa'.$i.'">Click me!</button></td></tr>'; ?>
                            <?php endfor ?>
                        </form>
                    </table>
                </div>
                <?php 
                    $sa1 = $_POST['sa1'] ?? '';
                    $sa2 = $_POST['sa2'] ?? '';
                    $sa3 = $_POST['sa3'] ?? '';
                    $sa4 = $_POST['sa4'] ?? '';
                    $sa5 = $_POST['sa5'] ?? '';
                    $sa6 = $_POST['sa6'] ?? '';
                    $sa7 = $_POST['sa7'] ?? '';
                    $sa8 = $_POST['sa8'] ?? '';
                    $sa9 = $_POST['sa9'] ?? '';
                    $sa10 = $_POST['sa10'] ?? '';


                    if (isset($_POST['sa1'])) {
                        echo $newarr[0]['name'];
                        echo $newarr[0]['degree'];
                        echo $newarr[0]['foe'];
                    }else if (isset($_POST['sa2'])) {
                        echo $newarr[1]['name'];
                        echo $newarr[1]['degree'];
                        echo $newarr[1]['foe'];
                    }else if (isset($_POST['sa3'])) {
                        echo $newarr[2]['name'];
                        echo $newarr[2]['degree'];
                        echo $newarr[2]['foe'];
                    }else if (isset($_POST['sa4'])) {
                        echo $newarr[3]['name'];
                        echo $newarr[3]['degree'];
                        echo $newarr[3]['foe'];
                    }else if (isset($_POST['sa5'])) {
                        echo $newarr[4]['name'];
                        echo $newarr[4]['degree'];
                        echo $newarr[4]['foe'];
                    }else if (isset($_POST['sa6'])) {
                        echo $newarr[5]['name'];
                        echo $newarr[5]['degree'];
                        echo $newarr[5]['foe'];
                    }else if (isset($_POST['sa7'])) {
                        echo $newarr[6]['name'];
                        echo $newarr[6]['degree'];
                        echo $newarr[6]['foe'];
                    }else if (isset($_POST['sa8'])) {
                        echo $newarr[7]['name'];
                        echo $newarr[7]['degree'];
                        echo $newarr[7]['foe'];
                    }else if (isset($_POST['sa9'])) {
                        echo $newarr[8]['name'];
                        echo $newarr[8]['degree'];
                        echo $newarr[8]['foe'];
                    }elseif (isset($_POST['sa10'])) {
                        echo $newarr[9]['name'];
                        echo $newarr[9]['degree'];
                        echo $newarr[9]['foe'];
                    }
                 ?>
            </body>
            </html>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69120909

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档