网页上的多个按钮正在调用所有按钮操作

时间:2016-02-19 16:25:17

标签: php html

我的网页上有两个提交按钮,用于执行不同的操作。我的问题是单击其中一个按钮是调用两个按钮的操作。我怎样才能使单击1按钮只调用相关的表单提交操作?

(这是我使用php的第一天)。

第一种形式:

<form id="frm1" onsubmit="document.getElementById('frm1').submit();">
    <center><br>
        <input style="width:150px" name="data" type="text" autocomplete="off" placeholder="Add Time (hh:mm:ss)">
        </input>
        <input name="id" type="hidden" value="<?php echo $ID; ?>">
        <input name="addTime" type="hidden" value="true">
        <button style="width:40px" type="submit" class='btn btn-success pull-right'>
          <i class="icon-plus"></i>
        </button
</form>

第二种形式:

<form id="frm2" onsubmit="document.getElementById('frm2').submit();">
    <center>
        Edit Group:
        <?php
            #

            $styles = sqlToQuery("SELECT groupID, Name from sha_scheduler_dev.sha_scheduler_map_job_group");

            echo '<select style="width:100" name="groupNum">';

            for($i = 0; $i < count($styles); $i ++){
                echo ' <option style="width:100" value="'.$styles[$i][0].'">'.$styles[$i][1].'</option>';       
            }

            echo '</select><br>';                           
        ?>

        <input name="editGroup" type="hidden" value="true"><br>
        <button type="submit" class='btn btn-info pull-right'>
                    &nbsp;&nbsp;&nbsp;&nbsp;Submit Group&nbsp;&nbsp;&nbsp;&nbsp;
        </button>
</form>

检查按钮是否已提交:

if ($_GET['addTime']==='true'){
    sqlToQuery("replace into sha_scheduler_dev.sha_scheduler_map_jobtimes (job_ID, time_to_run) values (".$ID." ,'".$_GET['data']."')");
    echo '<script>window.location.assign("'.$redir.'?id='.$ID.'");</script>';
}

if ($_GET['editGroup']==='true'){
    sqlToQuery("UPDATE sha_scheduler_dev.sha_scheduler_jobs a SET a.group = '".$_GET['groupNum']."' WHERE a.job_ID = ".$ID." ");
    echo '<script>window.location.assign("'.$redir.'?id='.$ID.'");</script>';
}

3 个答案:

答案 0 :(得分:1)

使用value(在您的情况下)或name

为您提供$_GET$_POST按钮来捕捉不同的值

更新:(也许只是尝试一下)

第一表格

<form id="frm1" action="" method="post">
    <center><br>
        <input style="width:150px" name="data" type="text" autocomplete="off" placeholder="Add Time (hh:mm:ss)" />
        <input name="id" type="hidden" value="<?php echo $ID; ?>" />
        <input style="width:50px" type="submit" class='btn btn-success pull-right' name="submit_form1" value="submit" />
        <i class="icon-plus"></i>
        </button>
    </center>
</form>

第二表格

<form id="frm2" name="frm2" action="" method="post">
    <center>
        Edit Group:
        <?php
        $styles = sqlToQuery("SELECT groupID, Name from sha_scheduler_dev.sha_scheduler_map_job_group");

        echo '<select style="width:100" name="groupNum">';

        for ($i = 0; $i < count($styles); $i ++)
        {
            echo ' <option style="width:100" value="' . $styles[$i][0] . '">' . $styles[$i][1] . '</option>';
        }

        echo '</select><br>';
        ?>
        <input type="submit" class='btn btn-info pull-right' name="submit_form2" value="Submit Group" />
</form>

<强> PHP

<?php
if (filter_input(INPUT_POST, "submit_form1"))
{
    // {Check for empty var on data}

    sqlToQuery("replace into sha_scheduler_dev.sha_scheduler_map_jobtimes (job_ID, time_to_run) values (" . $ID . " ,'" . $_GET['data'] . "')");
    echo '<script>window.location.assign("' . $redir . '?id=' . $ID . '");</script>';
}

if (filter_input(INPUT_POST, "submit_form2"))
{
    sqlToQuery("UPDATE sha_scheduler_dev.sha_scheduler_jobs a SET a.group = '" . $_GET['groupNum'] . "' WHERE a.job_ID = " . $ID . " ");
    echo '<script>window.location.assign("' . $redir . '?id=' . $ID . '");</script>';
}
?>

这非常紧,让您的网址保持干净。

答案 1 :(得分:1)

看起来两次提交相同的表单。给按钮一个名称或id,然后根据它来绑定表单,并以表格形式提交方法。

答案 2 :(得分:1)

在您的第一个表单中,按钮标记未正确关闭,这就是为什么第一个表单标记未正确关闭的原因,请使用此处,

<form id="frm1" onsubmit="document.getElementById('frm1').submit();">
    <center><br>
        <input style="width:150px" name="data" type="text" autocomplete="off" placeholder="Add Time (hh:mm:ss)">
        <input name="id" type="hidden" value="<?php echo $ID; ?>">
        <input name="addTime" type="hidden" value="true">
        <button style="width:40px" type="submit" class='btn btn-success pull-right'>
          <i class="icon-plus"></i>
        </button>
     </center>   
</form>

也改变你的PHP代码

if ( isset($_GET['addTime']) && $_GET['addTime']==='true'){
    sqlToQuery("replace into sha_scheduler_dev.sha_scheduler_map_jobtimes (job_ID, time_to_run) values (".$ID." ,'".$_GET['data']."')");
    echo '<script>window.location.assign("'.$redir.'?id='.$ID.'");</script>';
}

if ( isset($_GET['editGroup']) &&  $_GET['editGroup']==='true'){
    sqlToQuery("UPDATE sha_scheduler_dev.sha_scheduler_jobs a SET a.group = '".$_GET['groupNum']."' WHERE a.job_ID = ".$ID." ");
    echo '<script>window.location.assign("'.$redir.'?id='.$ID.'");</script>';
}