在 html 页面内的 javascript 中访问 django 表单变量

Posted

技术标签:

【中文标题】在 html 页面内的 javascript 中访问 django 表单变量【英文标题】:accessing django form variable in javascript which is inside html page 【发布时间】:2017-10-31 18:14:46 【问题描述】:

我有带有nameemail address 的django 表单作为form field in forms.py 文件。 我在form.as_p 的帮助下在 html 页面中实现了该表单。

现在我在同一个 HTML 页面中添加了 javascript...

% block javascript %

<script>

</script>

% endblock %

现在我如何访问这个script tag 中的两个表单变量。我想在客户端验证数据,而不是在服务器上发送。 getElementById() 方法有效吗?如果是这样,我需要写什么来访问我的表单变量或任何其他好的替代方案。 谢谢

【问题讨论】:

由 django 或任何其他方式生成的 HTML 只是 HTML 感谢您提供这样的答案,但我无法访问这就是为什么在这里询问。与其提供此类答案,不如帮助他人。 我没有回答你的问题。我发表了评论。如果您想要有用的答案,请阅读***.com/help/how-to-ask 和***.com/help/mcve 我已经简单解释了这个问题,我不能分享代码。如果您能提供帮助,请提前感谢您。 【参考方案1】:

是的,有可能。 Django 为您在 Django 表单中定义的每个字段提供一个格式为 id_fieldname 的 id。

例如对于name 字段,HTML 中的 id 将为id_name,对于email_address 字段,HTML 中的 id 将为id_email_address

现在您可以简单地在您的 JS 中使用带有这些 ID 的getElementById() 进行验证。

【讨论】:

嗨,我已经尝试过了,但它总是显示 [object HTMLInputElement] 而不是值。 对于文本字段的值使用document.getElementById("id_name").value 嗨,它仍然是空值。 在上面调用之前你在文本框中写了什么吗? 是的,我写了但只得到空值。

以上是关于在 html 页面内的 javascript 中访问 django 表单变量的主要内容,如果未能解决你的问题,请参考以下文章

如何在一个html页面内的div里嵌入一个html页面

前端乱煮之javascript学习笔记三

重新渲染 HTML 元素定位在 Javascript 幻灯片动画内的窗口调整大小

使用javascript单击div内的x按钮动态添加和删除div [重复]

使用 php jquery ajax 从 mysql 获取图像并将它们显示在 DIV 内的 html 页面中

JavaScript如何记录页面点击!