在wtform中使用onKeyDown事件

2024-04-19 04:24:27 发布

您现在位置:Python中文网/ 问答频道 /正文

目前正在尝试使用flask和wtforms来制作html表单。 我的for模板如下所示:

<ul><li>Description:</li>
<li> <textarea class="input" rows="10" cols="50" name="description" onKeyDown="limitText(this.form.description,this.form.countdown,150);"

onKeyUp=“限制文本(this.form.说明,这个倒计时,150);“>; 描述文章。你剩下几个字符。

我想用wtforms代替:

^{pr2}$

但是,如何将onkeydown事件合并到一起呢?我需要它来计算文本区域中已经输入的字符数。在

顺便说一句,我用wtforms制作的表格如下所示:

class ItemForm(Form):
title       = TextField("Title")
subtitle    = TextAreaField("Sub Title")
Description = TextAreaField("Description")
offervalue  = FloatField("Offer Value")
imagefile_1 = FileField("Image File 1")
imagefile_2 = FileField("Image File 2")
imagefile_3 = FileField("Image File 3")

问:即使在TEXTAREA中发生这种情况,我应该如何仍然包括JAVASCRIPT?在

谢谢你的指点。在


Tags: image文本formtitlelidescriptionthis字符
2条回答

您需要使用一些东西来选择textarea并将键盘事件绑定到它。我建议jQuery这样:

$('textarea .input').keypress(function() {
  limitText(this.form.description,this.form.countdown,150);
});

您可以在这里看到keypress事件的文档:http://api.jquery.com/keypress/jQuery也可以绑定到keyup或{}事件。在

如果您不熟悉jQuery,这是一个很好的起点:http://docs.jquery.com/How_jQuery_Works

看起来我有点晚了,但我个人的想法是:

  1. 将脚本保存在单独的文件中,即myscripts.js
  2. 通过<script url="<path/to/myscripts.js>"></scripts>myscripts.js附加到所需的HTML页面
  3. 假设在myscripts.js中有函数foo(eventObject),目标HTML页面中有元素bar。在
  4. 放入myscripts.js函数linker(),这将粘合这些组件(我使用jQuery作为示例,但也可以免费填充以使用纯JavaScript):

    函数链接器(){ $(bar).on(event,函数blablablabla(eventObject){foo(eventObject);}) }

  5. 从HTML页面调用linker()

相关问题 更多 >