这是一个简单的jquery和html脚本来模拟facebook墙,但它不起作用。有人可以帮助我吗?
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$("form#submit_wall").submit(function () {
var message_box = $('#message_box').attr('value');
$.ajax({
type: "POST",
data: "message_box=" + message_box,
success: function () {
$("ul#wall").prepend("<li style="
display: none;
">" + message_box + "</li>");
$("ul#wall li:first").fadeIn();
}
});
return false;
});
});
</script>
</head>
<body>
<form id="submit_wall">
<label for="message_box">Type your experience :</label>
<input type="text" id="message_box" />
<button type="submit">Post it!</button>
</form>
<ul id="wall"></ul>
答案 0 :(得分:2)
您的报价已关闭....也不要忘记设置您发送请求的URL
!
($.ajax({ url: ... , type: ...
)。
<强>问题:强>
$("ul#wall").prepend("<li style="display: none;">"+message_box+"</li>");
您需要注意哪些引号将作为字符串的一部分呈现,哪些引号表示字符串边界。
<强>解决方案:强>
$("ul#wall").prepend('<li style="display: none;">' + message_box + '</li>');
看看这两个代码片段的语法高亮区别。
答案 1 :(得分:1)
您没有使用正确的变量名称。您已将变量命名为message_wall
,但正尝试将其用作message_box
。您可能还需要提供AJAX帖子的URL。如果没有指定,它将使用页面的url,但通常你会从表单的操作中提取它,因为它可能不同。我还会使用val()
从输入中获取值。
$('form#submit_wall').submit( function() {
var url = $(this).attr('action');
var message_box = $('#message_box').val();
$.ajax({
url: url,
type: 'POST',
data: 'message_box=' + message_box,
success: function() { ... }
});
return false;
});
答案 2 :(得分:0)
message_box
未定义,您初始化message_wall
...