3

DjangoがうまくレンダリングしているHTMLがいくつかあります。HTMLのボタンをクリックして、ビューでイベントを発生させたいのですが。

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>
4

1 に答える 1

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>

次のURLを試して、JQueryライブラリを含めてください。

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
于 2012-12-05T22:42:41.887 に答える