-4

我有一个表格,填写后,我希望将数据插入数据库。截至目前,数据库有两列,“反馈”和“日期”。但是现在,只有“日期”被插入数据库,而不是“反馈”。

HTML 表单:

<form class="form-inline" action="JavaScript:sendFeedback()" method="get">
<textarea name="Feedback" placeholder="Feedback..." rows="5" cols="100"></textarea> 
<button type="submit" class="btn">Tell us</button>
</form>

Javascript:

function sendFeedback() {
    _gaq.push(['_trackPageview', 'OutgoingLink=SendFeedback' ]);
    $.get("../php/NewFeedback.php",{Feedback:$('input[name="Feedback"]').val()});
    var element = document.getElementById("FeedbackArea");
    element.innerHTML = "<div class=\"alert alert-success\"> <a class=\"close\" data-dismiss=\"alert\" href=\"#\">×</a>Thanks for your feedback!</div>";
    return false;
}

php:

$db = MySql::getInstance(DATABASE_HOST, DATABASE_USER, DATABASE_PASS, DATABASE_NAME);
$Feedback = mysql_real_escape_string($_GET['Feedback']);

//create the sql statement
$sql = "INSERT INTO Feedback VALUES('{$Feedback}', CURDATE());";

//execute the query
$res = $db->query($sql);

就像我说的,如果我在 textarea 中输入一些内容并按下“告诉我们”按钮,数据库将获得一个新条目,但“反馈”属性为空(并且填写了日期)。

为什么是这样?

4

2 回答 2

1

您没有名为 Feedback 的输入,您有一个 textarea,因此$('input[name="Feedback"]').val()不会为您提供该字段的值。

于 2012-12-29T18:09:31.363 回答
0

更改您的代码:

$('textarea[name="Feedback"]').val()

它会起作用。

于 2012-12-29T18:24:36.083 回答