@Jhon__Snow

Почему код добавленный через append сразу исчезает?

Извиняюсь за возможно нубский вопрос, но ответов я на него не нашёл
Имеется html код (точнее его упрощенная версия):
<html>
	<head>
	<meta charset="utf-8">
	<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
		<script>
			$(document).ready(function(){
				$("form").submit(function(){
					var text = $("body").html();
					text = text + $("#text").val();
					$("body").html(text);
				});
			});
		</script>
	</head>
	<body>
		<form id="new">
					<textarea id="text" rows="10" cols="25" placeholder="Предложить новость"></textarea><br>
					<input type="submit" value="Send"></input>
				</form>
	</body>
</html>

Надпись из формы добавляется на страницу, но моментально исчезает.Объясните пожалуйста почему это происходит, и как это поправить. Спасибо заранее.
  • Вопрос задан
  • 861 просмотр
Решения вопроса 1
Stalker_RED
@Stalker_RED
Перед отправкой формы вы добавляете текст из формы в конец body, переписывая при этом всю страницу(!), а затем происходит собственно отправка формы, и с сервера прилетает "свежий" html без этих правок.

Попробуйте так: jsfiddle.net/v2Lbp8j6
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 4
Denormalization
@Denormalization
Может быть потому, что страница обновляется? Форма же сабмитится.
Ответ написан
Комментировать
@onpavlov
Инженер, программист. JS, PHP, Python, Golang
Пропишите для тега формы <form id="new" onsubmit="return false;"> - тогда страница не будет перезагружаться. А данные отправляйте аяксом
Ответ написан
Комментировать
можно попробовать как-то так
$(document).ready(function(){
        $("form").submit(function(e){
          e.preventDefault();
          var text = $("body").html();
          text = text + $("#text").val();
          $("body").html(text);
        });
      });
Ответ написан
Комментировать
@vdl_moskau
Web-developer, Java-developer
Форма отправляется, сделайте так:

<form id="new" action="#">
          ...
</form>
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы