当ajax函数成功并且名称插入数据库时,变量total应该递增(total ++)。 但是当插入记录时,总++不起作用,警报("名称成功插入"不显示,每次插入新名称时,总数为1而不是递增。 我希望你能帮助我。
HTML
<form action="" method="post">
<div class="form-item">
<input id="name" type="text" name="name">
</div>
</form>
这是jquery / ajax脚本
<script>
$(document).ready(function(){
var total = 1;
$('#name').keydown(function(e) {
if (e.keyCode == 13) {
var name= $("#name").val();
var dataString = 'idUser='+ idUser
+ '&total=' + total
+ '&name=' + name
$.ajax({
type: "POST",
url: 'insertName.php',
data: dataString,
success: function() {
alert("name successfully inserted")
total++;
}
});
}
});
});
</script>
This is the insertName.php file
<?php
if(isset($_POST['idUser'])) $idUser= ($_POST['idUser']);
if(isset($_POST['total'])) $total=($_POST['total']);
if(isset($_POST['name'])) $name= utf8_decode($_POST['name']);
$name=mysql_escape_string($name);
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$sql = "INSERT INTO names(idUser, date, total, name)
VALUES ('$idUser', CURDATE(), '$total', '$nom')";
if (mysqli_query($conn, $sql)) {
} else {
echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
mysqli_close($conn);
?>
答案 0 :(得分:1)
tota++;
你错过了一个&#39; l&#39;最后那里。
答案 1 :(得分:0)
它不起作用,因为total
变量本质上不是全局变量,因为它在DOM准备就绪中声明。
要使其正常工作,请将total
外部DOM准备好。
var total;
$(document).ready(function(){
total = 1;
//your operation goes here.
success: function() {
alert("name successfully inserted")
total++;
}
});