【发布时间】:2016-10-27 02:31:37
【问题描述】:
我在 home.php 中制作了一个这样的弹出表单:
<script src="js/submit.js"></script>
.........
.........
.........
<div id="abc">
<!-- Popup Div Starts Here -->
<div id="popupContact">
<!-- Form -->
<form action="#" id="form" method="post" name="form">
<input id="month" name="month" placeholder="MONTH" type="text">
<a href="javascript:%20check_empty()" id="submit">ADD</a>
</form>
</div>
<!-- Popup Div Ends Here -->
</div>
我填写表格。当我单击“添加”按钮时,它会运行 javascript 函数。 submit.js 中的代码:
function check_empty() {
if (document.getElementById('month').value == ""){
alert("Fill column!");
} else {
document.getElementById('form').submit();
$.get("application/insertdata.php");
return false;
}
}
//Function To Display Popup
function div_show() {
document.getElementById('abc').style.display = "block";
}
//Function to Hide Popup
function div_hide(){
document.getElementById('abc').style.display = "none";
}
我想在 insertdata.php 中运行查询,如下所示。它需要来自“月”的值。
<?php
require("phpsqlajax_dbinfo.php");
$conn = mysqli_connect('localhost', $username, $password, $database);
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$data = isset($_POST['month']);
$monthstring = mysqli_real_escape_string($conn, $data);
$sql = "INSERT INTO `databasea`.`tablea` (`MONTH`, `TEST`) VALUES ('". $monthstring ."', 'xxx');";
mysqli_query($conn, $sql);
mysqli_close($conn);
?>
查询成功运行,并且在我的表中添加了行。 'TEST' 列添加了 'xxx'。但是在“MONTH”列中,它不生成任何值,只是空的。
那么,如何获得“月”值? 谢谢。
【问题讨论】:
-
首先需要学习$.get函数。查看此链接以获取 $.get() api.jquery.com/jquery.get
-
因为你没有在post中传递数据。
-
您正在使用:
document.getElementById('form').submit();发布表单,但您在表单操作中没有 URL,这意味着它将发布到自己。然后你对正确的文件执行$.get...但是$.get执行 GET 请求,而不是 POST...并且您没有发送任何数据。 -
我猜你的
MONTH字段是一个字符串,但你的$monthstring变量是一个布尔值,因为它被定义为$data = isset($_POST['month']);的转义版本,它是一个布尔值
标签: javascript php html mysql forms