所以我试图让jquery发送一个ajax调用来更新评论数据库。我似乎无法找到代码的错误。整天都在互联网上试图找出答案。
<div class="comment">
<textarea name="comment" onkeydown="test(event)"></textarea>
</textarea>
</div>
function test(event) {
if (event.keyCode==13) {
var comment = $('textarea[name=comment]');
$.ajax({
type: "GET",
url: "commentupdate.php",
data: "comment=" + comment,
});
$('.comment').hide();
$('#container').isotope('reLayout');
}
}
commentupdate.php
include('MasterHub_DBCon.php');
$COOKIEINFO = $_COOKIE['masterhub_user']; $USERCOOKIEINFO = explode('+', $COOKIEINFO);
$comment = $_REQUEST['comment'];
$sql = "INSERT INTO `dmech_main`.`COMMENTS` (`ID`, `USERNAME`, `COMMENT`, `COMMENTID`) VALUES (NULL, \'' . $COOKIEINFO['0'] . '\', \'' . $comment . '\', \'' . $_SESSION['COMMENTID'] . '\');";
mysql_query($sql);
答案 0 :(得分:1)
我猜错了val()
。试试 -
var comment = $('textarea[name=comment]').val();
而不是 -
var comment = $('textarea[name=comment]');
答案 1 :(得分:0)
我会尝试将javascript放在
中<script>
开头的标签。
答案 2 :(得分:0)
您需要自己编码数据并传递字符串或传递对象:
<script type="text/javascript>
function test(event) {
if (event.keyCode==13) {
var comment = $('textarea[name=comment]');
$.ajax({
type: "GET",
url: "commentupdate.php",
data: "comment=" + encodeURIComponent(comment)
});
$('.comment').hide();
$('#container').isotope('reLayout');
}
}
</script>
<script type="text/javascript>
function test(event) {
if (event.keyCode==13) {
var comment = $('textarea[name=comment]');
$.ajax({
type: "GET",
url: "commentupdate.php",
data: { comment: comment }
});
$('.comment').hide();
$('#container').isotope('reLayout');
}
}
</script>
引自http://api.jquery.com/jQuery.ajax/:
数据强>
要发送到服务器的数据。如果不是字符串,它将转换为查询字符串。它附加到GET请求的URL。请参阅processData选项以防止此自动处理。对象必须是键/值对。如果value是一个数组,jQuery会根据传统设置的值使用相同的键序列化多个值(如下所述)。