首页 > 解决方案 > 在使用模态 PHP HTML 时似乎无法获得输入的值

问题描述

这是我的表格:

<form class="form-horizontal form-label-left input_mask"  target="frame">
<input class="date-picker form-control col-md-7 col-xs-12" required="required" type="text" name="fn" id="fn1" onchange="checkInput()">
        <button name="submit" type="submit" id="btn1" disabled class="btn btn-success" data-backdrop="static" data-toggle="modal" data-target="#myModal">Submit Order</button></form>

这是我的脚本,我没有把我的其他输入放在这里,但实际上我在 sublime 中有 4 个输入。

<script type="text/javascript">
                        function checkInput(){
                          if($("#fn1"). val()!="" && $("#ln1").val()!= "" && $("#cn1").val()!= "" && $("#add1").val()!= ""){
                             $("#btn1").prop("disabled", false);
                             event.preventDefault();
                          }
                          else{
                             $("#btn1").prop("disabled", true);
                          }
                        }
                      </script>

这是提交帖子:

<!-- START OF PHP -->
<?php include ('connectdb.php');
if(isset($_POST['submit']))
{    
    $fn = $_POST["fn"];
    $add = $_POST["add"];
    $cn = $_POST["cn"];
    $ln = $_POST["ln"];

    //get cart no
    $sql = "SELECT * FROM cart WHERE cartuser = '$userid' and cartpend='IN CART'";
         $result = $conn->query($sql);
         while($data = $result->fetch_assoc()) {
              $_SESSION["cartrn"] = $data['cartrn'];
              $cartrn =  $_SESSION["cartrn"];
            }

    $sqldist = "UPDATE cart_rec SET cartpend='PENDING', cartfn='$fn', cartadd='$add', cartland= '$ln', cartcn='$cn' WHERE cartuser='$userid' and cartpend='IN CART'";
             if ($conn->query($sqldist) === TRUE) {

        $sqlwallet="UPDATE accounts SET wallet='$mywallet' WHERE usernamee='$userid'";
             if ($conn->query($sqlwallet) === TRUE) {

           $sqldel="DELETE FROM cart WHERE cartuser='$userid'";
             if ($conn->query($sqldel) === TRUE) {
                  echo "DONE";

              }
              else {
              echo "Error updating record: " . $conn->error;
              }
            }  
          }
  } // SUBMIT
?>

我的问题是,当按钮启用时,我似乎无法获得 fn、cn、ln 和 add 的输入值。仅供参考:我需要数据模式、data-backdrop="static" 和 target ="frame" 的形式.. 发生了什么?真的需要一些帮助非常感谢!!

标签: phphtml

解决方案


您的代码中有一些问题。第一件事是缺少action(除非您在提交时使用相同的文件。但是,使用 是一个好习惯action)。

第二个是因为你在使用target="frame",值是通过get不传递的post。因此,要访问值,您需要使用$_GET而不是$_POST.

例如,以下几行,

$fn = $_POST["fn"];
$add = $_POST["add"];
$cn = $_POST["cn"];
$ln = $_POST["ln"];

需要是 ,

$fn = $_GET["fn"];
$add = $_GET["add"];
$cn = $_GET["cn"];
$ln = $_GET["ln"];

我希望这有帮助。


推荐阅读