目前正在尝试使用flask和wtforms来制作html表单。 我的模板看起来像这样:
<ul><li>Description:</li>
<li> <textarea class="input" rows="10" cols="50" name="description" onKeyDown="limitText(this.form.description,this.form.countdown,150);"
的onkeyup = “limitText(this.form.description,this.form.countdown,150);” &GT;
文章的描述。你还剩下人物。
我想使用wtforms而只是替换:
<textarea..> with {{form.description}}.
但是我如何加入onkeydown事件呢?我需要它来计算textarea中已经输入的字符数。
顺便说一句。我使用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?
感谢任何指针。
答案 0 :(得分:0)
您需要使用某些东西来选择textarea并将键盘事件绑定到它。我建议jQuery如此:
$('textarea .input').keypress(function() {
limitText(this.form.description,this.form.countdown,150);
});
您可以在此处查看keypress
事件的文档:http://api.jquery.com/keypress/ jQuery也可以绑定到keyup
或keydown
个事件。
如果您不熟悉jQuery,这是一个很好的起点:http://docs.jquery.com/How_jQuery_Works
答案 1 :(得分:0)
看起来我有点迟了,但我的个人信息是:
myscripts.js
myscripts.js
<script
url="<path/to/myscripts.js>"></scripts>
附加到所需的HTML页面
foo(eventObject)
中有myscripts.js
函数,在目标HTML页面中有元素bar
。加入myscripts.js
函数linker()
,这将粘合这些组件(我使用jQuery作为示例,但也可以免费使用纯JavaScript):
function linker(){ $(bar).on( event ,function blablabla(eventObject){foo(eventObject);}) }
从您的HTML页面调用linker()
。