当你想在你的代码中找到一个错误时,这很难;当你认为你的代码是不会有错误时,这就更难了。

jquery django按钮

admin 82℃
我想创建一个在浏览器中记录日期和时间的按钮,当用户单击它,然后将该信息发送到django数据库。

1.db part:我保存的db字段最好是datetimefield()还是charfield()?我想知道点击那个按钮的确切日期和时间?

  1. jquery部分:我听说jquery可以完成记录按钮被点击的确切时间。我对jquery并不熟悉,而且掌握了javascript的基本知识。但我想知道的是,当用户单击jquery和/或javascript时,jquery和/或javascript为什么/如何记录,而在django中,这将是服务器获取信息的时候。

我希望能够在浏览器中记录各种点击行为,因此我的问题。

如果有人能给我一个往返的例子。这将是最大值。

谢谢!

DateTimeField 会比 CharField 是的。您可以定义类似的模型:

class ButtonClick(models.Model):
    clicked_on = models.DateTimeField()

您可以定义一个视图来创建此模型的实例,并在调用时保存它。它使用 ModelForm .

class ButtonClickForm(forms.ModelForm):
    class Meta:
        model = ButtonClick

def record_button_click(request, *args, **kwargs):
    if request.is_ajax() and request.method == 'POST':
        form = ButtonClickForm(request.POST.copy())
        if form.is_valid():
            instance = form.save()
            return render_to_response(... XML snippet indicating success ...)

    else:
        # Return invalid request? This depends on your scenario.

现在有一个有趣的部分-从浏览器调用这个视图。下面的代码片段是一个如何实现这一点的示例。警告:我对jquery的了解非常有限。片段可能包含错误和/或可能有更好的方法来执行此操作。

function on_button_click(date) {
    $.ajax({
      url: 'app/record_button_click/',
      data: "date=" + date.toString(), // Use appropriate formatting option.
      success: function(data) {
        alert('Button click recorded.');
      }
    });
}

<button onClick="return on_button_click(new Date());" ../>

转载请注明:我的代码 » jquery django按钮