【发布时间】:2019-10-11 00:22:28
【问题描述】:
我在 index.php 中使用了 map-area 标签,所以使用 jQuery 我将点击区域标签的 ID 传递到我的 Modal 输入值中。
填充模态输入后,我使用 Ajax 将值发送到我的数据库表,直到现在一切正常。
HTML:
Modal 中的输入如下所示:
<input name="Raum" id="Raum" type="text" class="form-control"> </input>
我的 Ajax 代码:
$(document).ready(function() {
$("#btn_submit").on('click', function(e) {
e.preventDefault();
var id = $("#id_input" ).val();
var parentId = $("#Raum").val();
var dose = $("#Dose" ).val();
$.ajax({
method: "post",
url: "insert.php",
data: {platz: id, raum: parentId, dose: dose},
dataType: "text",
success: function(strMessage) {
$('#message').show(50).html("Success!");
setTimeout(function(){
window.location.reload(1);
}, 1500);
}
});
});
});
我正在尝试使用在 SQL 语句中存储区域标记 ID 的 jQuery 变量,以便能够根据区域 ID 获取数据。
我正在尝试将 jQuery 变量存储在 PHP 变量 $id_of_input 中:
$id_of_input = $_POST["platz"];
所以我的 SQL 语句应该是这样的:
$sth = $pdo->prepare("SELECT RaumNr, Platznummer, Dosennummer FROM
tcw_osi_raumplan_mitarbeiter WHERE Platznummer = '$id_of_input' ");
echo $id_of_input;
但它无法将 jQuery 变量存储在 $id_of_input 中。
有没有足够善良或聪明的人来帮我解决这个问题?将不胜感激。谢谢!
【问题讨论】:
-
@weletonne dataType 与发送数据无关,它处理返回数据(他的返回是文本的简单回显)。您关于“测试”的注释是正确的,可能是问题所在。
-
@IncredibleHat 哦,是的,谢谢
-
(附带说明...这不是您将
prepare与 PDO 一起使用的方式...在您开始工作后可能需要调查一下) -
@IncredibleHat 我已经编辑了我的代码以显示 HTML,也请忽略我提供的 pdo 代码,因为我只是没有复制整个代码来缩短我的问题。
-
我们可能需要您尝试提交的“完整表格”。请记住,“ID”在整个 DOM 中必须是唯一的,而且如果您不向发送的数据添加字段,则不会自动包含它。你所展示的,你只发送了三个
{platz: id, raum: parentId, dose: dose}... 的 POST 变量,所以这些也是你在 PHP 中唯一可以访问的变量。问题是 JS 是否传递了正确的值,或者 PHP 是否没有得到它给定的值(我怀疑除非你在某处有一些 php 代码会破坏你的 $_POST 超全局)。