2012-12-05 65 views
1

我有一些Django呈现良好的HTML。我想单击HTML上的一个按钮,导致在视图中触发事件。Django按钮ajax点击

它看起来不像按钮导致post触发。我不确定我做错了什么。

这是我的views.py代码:

def log(request): 
    if not request.POST: 
    template = loader.get_template('log.html') 
    html = template.render(Context()) 
    return HttpResponse(html) 
    print "Post" 

这是我log.html

<!DOCTYPE html> 
<html> 
<head> 
    <title></title> 
<script type="text/javascript"> 
    $("#update_log_button").bind("button", function(){ 
     $.post("hello"); 
     return false; 
    }); 
</script> 
</head> 
<body> 
<p> 
    <span>SPHIINX Log</span> 
</p> 
<p> 
    <textarea cols="2" name="log" rows="25"></textarea> 
    <input id="update_log_button" name="update_log" type="button" value="Update Log"/> 
</p> 
</body> 
</html> 

回答

3

有你为什么不直接使用click事件原因是什么?

试试这个:

<script type="text/javascript"> 
    $(function(){ 
    $("#update_log_button").click(function(){ 
     $.post(
     url : "/hello/", 
     dataType:"html", 
     success: function(data, status, xhr){ 
      //do something with your data 
     } 
     ); 
     return false; 
    }); 
}); 
</script> 

如果是动态创建的按钮,那么你可能想使用bind功能click事件处理程序附加到元素:

<script type="text/javascript"> 
    $(function(){ 
    $("#update_log_button").bind('click', function(){ 
     $.post(
     url : "/hello/", 
     dataType:"html", 
     success: function(data, status, xhr){ 
      //do something with your data 
     } 
     ); 

     return false; 
    }); 
    }); 
</script> 

试试这个网址包括jQuery库:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> 
+0

那没用,是不是有什么特效克与我的$ .post? – user1357182

+0

可能不是我改变了答案...注意网址。改变你正在使用的东西! –

+0

那也不适合我。我敢肯定,这是我对JS/AJAX缺乏理解。 – user1357182