在我执行window.location.href以重定向到新页面但是它不起作用后,我试图在jquery函数中运行一个函数(显示一条flash消息)。甚至console.log(" confirmnewpage")也不会出现在新页面上。我已经测试过确认函数showFlashMessage(msg)是否有效,它只是在click函数内部不起作用。有没有办法这样做,以便flashmessage或任何其他功能可以在重定向到新页面后运行?顺便说一句,如果重要的话我会使用django作为我的后端。
由于
my url.py
urlpatterns = [
url(r'^contact/$', ContactView.as_view(), name='Contact'),
]
我的HTML
<form class='db' action='{% url 'Contact' %}' msg='Hello John!' method="post" style="display: inline">{% csrf_token %}
<input class='btn btn-success buttonspace' type="submit" value="Home">
</form>
我的javascript
<script>
$(document).ready(function(){
{% block jquery %}
function showFlashMessage(message) {
var template = "<div class='container container-alert-flash'>" +
"<div class='col-sm-10 col-sm-offset-1'> " +
"<div class='alert alert-success alert-dismissible' role='alert'>" +
"<button type='button' class='close' data-dismiss='alert' aria-label='Close'>" +
"<span aria-hidden='true'>×</span></button>"
+ message + "</div></div></div>"
$("body").append(template);
$(".container-alert-flash").fadeIn(500);
setTimeout(function(){
$(".container-alert-flash").fadeOut(500);
}, 5000);
}
$(".db").click(function(e){
e.preventDefault()
var Url = $(this).attr("action");
var msg = $(this).attr("msg");
$("#dc").fadeIn("300")
$("#dc").dialog({
resizable: false,
height: 200,
width: 350,
modal: true,
show: { effect: 'fade' },
hide: { effect: 'fade' },
buttons:{
1:{
id:"close",
text:"Confirm",
click: function(){
console.log("confirm")
window.location.href = Url
console.log("confirmnewpage") //This does not work.
showFlashMessage(msg) //This does not work.
$(this).dialog("close")
},
class: "buy-btn"
},
2:{
id:"close",
text:"Cancel",
click: function(){
console.log("cancel")
$(this).dialog("close")
},
class: "cancel-btn"
}
}
})
})
{% endblock %}
})
</script>