如何从模态体获取输入值并插入数据库?

时间:2016-05-02 11:47:38

标签: javascript php mysqli modal-dialog bootstrap-modal

我有一个按钮,用户点击“DECLINE”并显示一个包含以下内容的模态:

<div class="modal-body"> 
    <form action="declineAnnouncementReq.php" method="POST">
         <div class="control-group form-group">
            <div class="controls">
                <label>Please specify your reason:</label><br>
                <textarea rows="10" cols="100" name="reason" class="form-control" id="reason" style="resize:none"></textarea>
            </div>
        </div> 
    </form>
</div>

<div class="modal-footer">
        <a href="javascript:decline_id(<?php echo $row[0]; ?>) " class="btn btn-danger">DECLINE</a>
        <button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
</div>

在输入原因之后,他们应该再次从模态页脚单击“拒绝”。模态内的“DECLINE”按钮用于删除他们决定拒绝的数据,同时他们输入的原因将插入到数据库中的另一个表中。但是当我单击按钮时,它只删除数据,但原因不会插入数据库。

declineAnnouncementReq.php

 <?php include_once ('dbcontroller.php');           
        if(isset($_GET['decline_id']))
        {
            $date = date('Y-m-d H:i:s');
            $reason = mysqli_real_escape_string($conn,$_POST['reason']);

            $res=mysqli_query ($conn,"SELECT sender_id FROM announcement_requests WHERE id=".$_GET['decline_id']);
            $row=mysqli_fetch_array($res);
            $sender_id = $row['sender_id'];

            $delete = mysqli_query($conn, "DELETE FROM announcement_requests WHERE id=".$_GET['decline_id']);
            if ($delete){
                $insert = mysqli_query($conn, "INSERT into pres_rec VALUES(id,'$sender_id','$reason','declined', '$date')");
                header("Location: requests.php");
            }
        }
    ?>

我知道我没有提交按钮,但我不知道我应该把它放在哪里?或者我如何将它与模态页脚中的<a href="javascript:decline_id(<?php echo $row[0]; ?>) " class="btn btn-danger">DECLINE</a>中的javascript结合使用?

编辑:我的decline_id

的javascript代码
<script type="text/javascript">
    function decline_id(id) {
        if(confirm('Are you sure you want to decline this request?'))
        {
            window.location.href='../admin/declineAnnouncementReq.php?decline_id='+id;
        }
    }
</script>

1 个答案:

答案 0 :(得分:0)

通过在form功能中设置decline_id,您只需将用户重定向到新页面,而无需提交任何form数据。

一种解决方案是使用submit()函数。

首先,您可以在查询字符串中使用action保留,方法是在您的form id中打印出来,并确保<form id="myForm" action="../admin/declineAnnouncementReq.php?decline_id=<?php echo $row[0]; ?>" method="POST"> { {1}}因为这样可以更轻松地选择提交。

decline_id

接下来,您可以在function decline_id(id) { if(confirm('Are you sure you want to decline this request?')) { document.getElementById("myForm").submit(); } } 函数

中提交表单
<li runat="server" id="li1" visible ='<%# IsAdmin %>'>
    <a href="screeners.aspx"><span> Admin link</span></a>
</li>