Я пытаюсь отправить некоторые данные методом POST и перенаправить страницу. Но всякий раз, когда я нажимаю на кнопку отправки, jquery не загружается должным образом на новой странице.
Я смог свести мою проблему к следующему коду. Например, если я нажму "отправить", будет загружена новая страница. Но кнопка Отправить не дает никакого ответа, и окно предупреждения не появляется.
<html lang="en">
<head>
<script type="text/javascript" src="{{ MEDIA_URL }}site/jquery-1.4.2.js"></script>
<script type="text/javascript">
$( document ).ready( function() {
$('#submit').click( function() {
alert("Submit button pressed" );
$.post("/questions/submit/",
{qid:1, ans:"dummy" },
function(data) {
$('html').html(data);
});
});
});
</script>
</head>
<body>
<a href="/accounts/logout">Logout</a>
{{ section.qid }}
<button id="submit">Submit</button>
</body>
</html>
По-видимому, всякий раз, когда новые данные загружаются на страницу через jquery, сценарии и функции jquery не выполняются. Поэтому я должен сделать «обновление» на странице, и все работает отлично. Однако в функции post, если я изменю «html» на «body», submit работает просто отлично.
$('body').html(data);
Но на разных страницах могут быть разные файлы скриптов. Так что я не за то, чтобы делать это. Каким должен быть идеальный способ реализовать это, чтобы функции jquery загружались правильно?
PS: При проверке «источника страницы» я заметил, что старый раздел .qid присутствует в источнике страницы. Тем не менее, браузер отображает новый (и, по-видимому, правильный) section.qid. Я в тупике.