Асинхронная стена facebook с jquery / ajax - PullRequest
0 голосов
/ 31 октября 2011

Я пытаюсь сделать стену похожей на Facebook, но не подключаться к какому-либо серверу, используя методы append и prepend для создания поста и комментариев. Проблема заключалась в том, что я появился, чтобы создать новый пост, и я не могу комментировать другой.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
<link rel="stylesheet" href="estilo.css" type="text/css" />
<script language="javascript" type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
<script language="javascript">
function post(){
    <!-- guardo el valor que recibo del input posterar, en la variable postear -->
    /*var dia = new Date();
    var fecha = (dia.toDateString());*/
    /*var dia = new Date();
    var fecha = (dia.toString());*/
   var now    = new Date();
   var monthday = now.getDate();
   var hour   = now.getHours();
   var minute = now.getMinutes();
   var second = now.getSeconds();
   var fecha = monthday+' '+hour+':'+minute+':'+second;
   var nuevopost = $('#postear').val();
    $('#posts').prepend('<p>'+nuevopost+'</p>'+fecha+'<br><div id="cm" style="width:300px; margin-left:25px; background-color:#D6E9E9"></div><input type="text" id="comentar" /><a href="#" onclick="comenta()">Comentar</a>');
    $('#postear').val('');
    };

function comenta(){
    var comt = $('#comentar').val();
    $('#cm').append('<p>'+comt+'</p>');
    $('#comentar').val('');
    };
</script>
</head>

<body>
<form>
<input type="text" name="postear" id="postear" /><input type="button" onclick="post()" value="Escribir" />

<div id="posts" style="width:300px"></div><br /><br />
<div id="xml" style="float:left; background-color:#00CCFF; width:300px"></div>

</form>
</body>
</html>

Fiddle

1 Ответ

0 голосов
/ 31 октября 2011

Это потому, что у вас есть несколько div и входов с одинаковым идентификатором.

В сгенерированном коде вы видите возвращение этих идентификаторов:

<div style="width: 300px; margin-left: 25px; background-color: rgb(214, 233, 233);" id="cm">

и

<input type="text" id="comentar">

Вы должны будете дать каждому уникальный идентификатор, иначе браузер не знает, к какому из них обратиться.

...