【发布时间】:2011-09-30 03:55:16
【问题描述】:
我有一个表格:
<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 是别人给我的,所以我不知道它是否 100% 兼容 AJAX/JavaScript,比如 method="post"。你们都会比我有更好的主意。
【问题讨论】:
-
你能用 Fiddler ot Firebug 测试一下,看看发布到 PHP 页面的内容吗?另外,你确定 $(this) 是指 ajax 调用中的表单吗?我不确定上下文是#hubForm..
-
我已经尝试不使用 $this 并使用 $('#hubForm') 和 $('hubForm') 代替。我会尝试使用 Firebug,但我不熟悉它。
-
看起来 Bobby 又要参加比赛了:bobby-tables 那是
标签: php javascript ajax forms