如何在 Django Form 中使用 Jquery 脚本的值?

Posted

技术标签:

【中文标题】如何在 Django Form 中使用 Jquery 脚本的值?【英文标题】:How to use the value of Jquery script in Django Form? 【发布时间】:2012-08-11 05:45:01 【问题描述】:

我有一个以下 Jquery 代码,它创建了一个 Time Picker

<input class="time" type="text" name="start" id="start" />
$('input.time').timepicker();

我想使用这个时间选择器值,它出现在 Django-Forms 的文本中。

我的models.py

class UsertTime(models.Model):
user = models.ForeignKey(User, blank=False)
data = models.CharField(max_length=30)
timestamp = models.DateTimeField(blank=True, null=True)

我的forms.py:

class UserTimeForm(forms.ModelForm):
    class Meta:
    model = UserTime

在我的template.html:

<form action="" method="POST">
 form.as_p 
<input type="submit" value="% trans "Add " %" /> <a href="% url host_list %">% trans "Cancel" %</a>
</form>

<input class="time" type="text" name="start" id="start" />
$('input.time').timepicker();

现在我应该如何通过Jquery 书面输入填充timestamp 字段。以下是 Jquery 代码的参考链接:

Link for the Jquery sample

【问题讨论】:

我认为您应该能够将选择器从 $('input.time') 更改为与 form.as_p 呈现的输入匹配的选择器。它只是为那条数据呈现文本类型的输入,日期选择器将使用它。 @Gromer:是的,你是对的,但问题是我应该如何在 this.timepicker 中使用 form.as_p 时间戳字段? 【参考方案1】:

我也可能是误会了;但是,你能不能只检查form.as_p 的输出并对该输入而不是$('input.time') 进行操作

$('#id_timestamp').timepicker()

【讨论】:

【参考方案2】:

除非我对你有严重误解,否则请使用val()

$('#id_timestamp').val($('#time').val())

【讨论】:

感谢@Chris 的回复,但我应该如何将它与 Django Forms 集成。我的意思是 *** form.as_p ***。你可以看到 Django Form 类。那么我应该如何使用它呢?我不是 Django 中最好的。请您根据它更新代码。 将时间戳字段的值设置为另一个字段的值。 Django 只是像往常一样处理表单。不确定您还在寻找什么。【参考方案3】:

这不行吗:

<input class="time" type="text" name="start" id="start" value="form.timestamp" />

抱歉,我不是 Django 专家。

【讨论】:

以上是关于如何在 Django Form 中使用 Jquery 脚本的值?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Django Form 中使用 Jquery 脚本的值?

如何在同一个模板中使用两个不同的 Django Form?

Django:如何在新模板中的另一个模型上使用 CreateView 的 form_valid() 返回的响应?

17 Django Form组件

在Django中,提交表单2后如何保留表单数据?

Django Form ---当光标在字段中时如何从表单中删除初始文本