我正在尝试使用 onSubmit() 函数插入我的 MySQL 数据库...对于主要部分,我的函数有效。但是,它一直1
在我的数据库中插入logbook_id
字段所在的位置(logbook_id
每次都不应该是 1)。这是我的(相关)html:
echo '<div class="logbook_box" id="logbook'.$id.'"
style="display: block; overflow: hidden;">';
echo '<form action="cgi-bin/read_log.php" method="post"
onSubmit="return ajaxSubmit(this, ' . $id . ');">' .
'<input type="hidden" value="'.$id.'" id="id" name="id" />'.
'<input style="float: right; width: 20%" type="submit" value="Mark as Read" />' .
'</form>';
这是 onSubmit 函数:
<script type="text/javascript" src="cgi-bin/jquery-2.0.3.js"></script>
<script>
var ajaxSubmit = function(form, id) {
div = document.getElementById("logbook" + id);
div.style.display = "none";
// fetch where we want to submit the form to
var url = $(form).attr('action');
var id = $('#id').val();
// setup the ajax request
$.ajax({
url: url,
data: { id : id },
dataType: "json",
success: function() {
if(rsp.success) {
alert('Marked as read, thanks!');
}
}
});
// return false so the form does not actually
// submit to the page
return false;
}
</script>
这是我的 PHP 文件:
<?php
include('/var/www/olin2/includes/functions.php');
$con = connect_db();
session_start();
$id = isset($_POST['id']);
$username = $_SESSION['username'];
$query = 'insert into read_logbook(logbook_id, username)
values("'.$id.'", "'.$username.'")';
mysqli_query($con, $query) or die(mysqli_error($con));
?>
因此,<div>
当单击提交时,它应该会消失,这表明它id
正在正确传递。调用了 PHP 脚本,但它要么不向数据库输入任何内容,要么(更奇怪的是)如果我将 PHP 从 更改为而不更改表单中的方法,它会将我的用户名和值提交1
到数据库中。$_POST
$_GET
我是 ajax/javascript 的新手,所以我确信它与函数有关,但我很困惑,完全不知所措......有什么想法吗?