php - 在使用模态 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" 的形式.. 发生了什么?真的需要一些帮助非常感谢!!
解决方案
您的代码中有一些问题。第一件事是缺少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"];
我希望这有帮助。
推荐阅读
- sql - SQL Server 多连接返回重复值
- postgresql - 尽管没有修饰符,但将文件导入 Postgresql 失败
- joomla - 无法保存数据。错误:扩展必须有标题
- view - 如何在表单视图中显示来自另一个菜单模型的特定参数?(Odoo 13 企业版)
- python - Django 选择对象未将 id 传递给 URL
- java - 无法使用java客户端访问docker for windows中的rabbitmq
- android - 在 Audio Manager 对象上发送额外数据以确保 android.media.RINGER_MODE_CHANGED Action Receiver 接收到此信息
- postgresql - Postgres/jOOQ 替换 jsonb[] 元素
- excel - 堆叠数据并添加折线
- python - 如何用虚线连接散点图的点?