繁体   English   中英

web2py:如何将javascript添加到Web2py Crud表单?

[英]web2py: How do I add javascript to Web2py Crud form?

使用Web2Py。 我试图将一些JavaScript附加到字段(onchange)或表单(onsubmit)上,但是我绝对看不到将此类参数传递给crud.create或form.custom.widget的方法。

有人有主意吗?

当然有办法。 合适的方法是让web2py邮件列表中的人知道如何使用,而不是一般的堆栈溢出用户会猜出错误的答案。 :-)

无论如何,假设您具有:

db.define_table('image',
    Field('name'),
    Field('file', 'upload'))

你可以做

def upload_image():
    form=crud.create(db.image)
    form.element(name='file')['_onchange']='... your js here ...'
    form.element('form')['_onsubmit']='... your js here ...'
    return dict(form=form)

Element采用css3 / jQuery语法(但在python中评估)。

我不认为有直接方法可以做到这一点。 一种选择是仅操作web2py生成的HTML,它只是一个字符串。 在我看来,更干净的方法就是使用jQuery的$(document).ready()函数绑定事件。

假设您有一个数据库表(所有内容都从web2py的文档中被盗):

db.define_table('image',
    Field('name'),
    Field('file', 'upload'))

形式:

def upload_image():
    return dict(form=crud.create(db.image))

嵌入视图(以最简单的方式):

{{=form}}

并且您想要向名称输入字段添加onblur处理程序(添加到视图):

<script type="text/javascript">
$(document).ready(function(){
    $("#image_name").blur(function(){
      // do something with image name loses focus...
    });
});
</script>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM