[英]Javascript works only once when function calls via button
我有一个使用Javascript的页面,该页面调用Django URL,但是此调用只能运行一次。
html代码在这里:
<script>
function myFunction(pk) {
if ($.data(this, 'submitted')){
return false;
}
$.data(this, 'submitted', true);
$.get("{%url 'myViewURL' %}",{req:pk}, function (data) {
$.data(this, 'submitted', false);//libero
});
}</script>
按钮代码
<button onclick="myFunction({{id}});">Click Me</button>
查看代码:
def myFuncView(request):
p_id=request.GET['req']
do_stuff(p_id)
return redirect('anotherURL',p_id,permanent=True)
第一次按下按钮时,它会触发,但是之后即使我刷新页面或转到另一页面然后返回,它也不再起作用!
get
函数中的this
指向ajax请求,而不是启动它的按钮。
您需要存储this
的引用,以便可以在其他上下文中使用它:
var self = this;
$.get("{%url 'myViewURL' %}", {
req: pk
}, function (data) {
$.data(self, 'submitted', false); //libero
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.