[英]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.