我有一张表格:
<form action="#" method="post" id="hubForm">
<label class="labelText">Expiration Date:</label>
<input class="datBox" type="text" id="cal" name="date">
<div class="clr"></div>
<div class="clr"></div>
<label class="labelText">Hub Name</label>
<input class="inputTxt" type="text" value="" name="name" />
<div class="clr"></div>
<label class="labelText">Description</label>
<textarea class="textArea" name="desc"></textarea>
<div class="clr"></div>
<input class="submitButt" type="submit" value="" />
<div class="clr"></div>
</form>
我有这个JavaScript:
$('#hubForm').submit(function() {
$.ajax({
url: "hubControl.php",
type: "post",
data: $(this).serialize()
});
});
这个PHP代码:
//Add the hub, task, or project to the database
mysql_query("INSERT INTO ".$type."s(".$IDvar.", name, description, users, expDate)
VALUES(".$ID.", \"".$_POST['title']."\", \"".$_POST['desc']."\", ".$ID.", ".$_POST['date'].")");
但它拒绝向数据库添加任何内容。我已经重写了代码以使用$ _GET并测试了PHP,并且我已经验证它是否有效。
至于JavaScript,我也试过像
这样的东西$.post("hubControl.php", $('#hubForm').serialize());
但似乎没有任何效果。有什么想法吗?
修改 表单HTML由其他人提供给我,所以我不知道它是否与AJAX / JavaScript 100%兼容,类似于method =“post”。你们都会比我想的更好。
答案 0 :(得分:0)
由于您使用的是jQuery,因此应考虑使用ajaxForm plugin。它非常易于使用,您可以通过最少的设置将其放入项目中。
答案 1 :(得分:0)
如果它与$ _GET一起工作而不是$ _POST,听起来好像没有正确填充$ _POST数组。
我建议您在加载页面时通过查看$ _REQUEST或$ _POST数组来开始这项工作。某些HTML预标记中的print_r($ _ POST)非常有用。
如果你知道PHP甚至没有收到正确的数据,你可以专注于修复Ajax / jQuery。
答案 2 :(得分:0)
尝试使用大写字母:
$.ajax({
url: "hubControl.php",
type: "POST",
data: $(this).serialize()
});