首页 > 解决方案 > php中模态引导的单击功能不起作用

问题描述

我正在开发一个使用引导模式的 php web 应用程序。当我单击一个按钮时,会显示模态但其提交功能不起作用。我不知道我做错了什么,但下面是我的代码。

**viewproduct.php 代码:**

<!-------------------------ADD STOCK MODAL------------------------------------->
<div id="add_stock_modal" class="modal fade" role="dialog">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal">&times;</button>
                <h4 class="modal-title"><b>STOCK-IN</b></h4>
            </div>
            <div class="modal-body">
                <label><b>Add Stock</b></label>
                <input type="text" placeholder="Enter Stock" name="txt_addstock" id="txt_addstock" class="form-control">
                <br />
                <label><b>Stock Price</b></label>
                <input type="text" placeholder="Enter Stock Price" name="txt_addprice" id="txt_addprice" class="form-control">
                <br />
                <button class="btn btn-warning" type="button" name="btn_stockin" id="btn_stockin">Stock-in</button>
            </div>
        </div>
    </div>

</div>
<!-------------------------------------------------------------------------------->

要调用模态,我在 **viewproduct.php 代码中使用它:**

div>
 <button type="button" name="open_stock_modal" id="open_stock_modal" class="btn btn-success" data-toggle="modal" data-target="#add_stock_modal">Add stock</button> 
</div>

点击后显示如下图:点击前显示模态

这是我的ajax函数

 <script>
     
    $(document).ready(function() {
        $('.btn_stockin').click(function() {
    
            event.preventDefault();
            var newStock = $('#txt_addstock').val();
            var newPrice = $('#txt_addprice').val();
            if(newStock != '' && newPrice != ''){
                swal ( "Oops" ,  "fields are required!" ,  "error" );
            }else{

                $.ajax({
                    method: 'POST', 
                    url: 'stock-in.php',
                    data:{
                        stock_up: newStock,
                        cost: newPrice
                         <?php 
                        echo ', id: '.$row->pid.' '
                        ?>
                        <?php 
                        echo ', oldstock: '.$row->pstock.' '
                        ?>
                    },
                    success:function(data){
                        swal ( "Oops" ,  "fields are required!" ,  "success" );
                    }

                });
            }

        });
    });


</script>

点击后我得到这张图片 输入值后点击入库按钮没有错误显示,没有任何反应

输入值后点击入库按钮,不显示错误,也没有任何反应。我不知道我做错了什么。

这是stock-in.php上的代码

<?php

include_once'connectdb.php';

if($_SESSION['useremail']=="" OR $_SESSION['role']=="Admin"){
    header('location:index.php');
}
if(isset($_POST['stock_up'])){
    $stockup=(int)$_POST['stock_up'];
    $newPrice=(int)$_POST['cost'];
    $id=$_POST['id'];
    $oldstock=(int)$_POST['oldstock'];


            $new_stock = $oldstock + $stockup;

                $sql="UPDATE `tbl_product` SET `pstock` = ?, `purchaseprice` = ? WHERE  pid= ? ";
                    $update=$pdo->prepare($sql);
                    $update->execute([$new_stock, $newPrice, $id]);

            if($result){
               echo'Stock updated!';
            }else{
              echo'Error in updating stock';  
            }
}
?>

我会感谢你的帮助。谢谢。

标签: phpajax

解决方案


我将代码从

$(document).ready(function() {
        $('.btn_stockin').click(function() {

$(document).ready(function() {
        $('#btn_stockin').click(function() {

它工作得很好。


推荐阅读