问题描述
这几天在处理自定义表单的几个问题。目前有一个比较麻烦的问题需要讨论一下。目前我我通过文档配置字段列表,根据字段生产表单html(read/edit)。并且根据用户状态进行载入表单。表单通过公式或ajax方式载入,通过代理提供创建/更新文档。通过Request_Content获取域,并解析处理。目前问题是,如果Ajax提交表单内容会被urlencode发送,到服务器需要decode解码。使用@URLDecode解码具有2K长度限制。在网上找了很多的URLDecode都不能很好的解码。这个问不知是否有人有好多方式解决,或者换一个其他的处理思路解决这个问题注:虽然可以通过修改notes.ini方式实现html域直接保存到doc内,但此方式会使得很多非必须的html域内容被存储。造成大量冗余信息。且容易被用来篡改数据。
解决方案
解决方案二:
自己写JS试试。
解决方案三:
不知道你为什么一定要用自定义的表单,把思路反过来,你就用Notes的表单来创建和存储文档,你自己再定义显示和编辑逻辑(这些同样可以用公式或ajax方式来控制),换句话说就是把Notes文档当作后台数据库,而你写的公式或Javascript代码定义显示和存储逻辑。你可以用NotesDatabase类的GetForm()方法取得NotesForm对象,和NotesForm类的Fields属性读取某个表单的具体字段列表,这样即达到了你用文档配置字段的目的,又可以利用标准的Notes存储机制。
解决方案四:
补充一下,你完全可以定义两个表单,一个只是显示编辑文档用的,你可以在里面只用HTML加JavaScript来处理数据,只要保存前把那些HTML和JavaScript取得的数据以你自己定义的格式存到当前表单的某些字段里,然后再在WebQuerySave事件里写代码从这些字段里取数据保存到另一个Form的文档里,WebQueryOpen事件就相反,从那些文档里读数据放到你的自定义HTML里对应字段即可。
解决方案五:
引用2楼fare2000的回复:
不知道你为什么一定要用自定义的表单,把思路反过来,你就用Notes的表单来创建和存储文档,你自己再定义显示和编辑逻辑(这些同样可以用公式或ajax方式来控制),换句话说就是把Notes文档当作后台数据库,而你写的公式或Javascript代码定义显示和存储逻辑。你可以用NotesDatabase类的GetForm()方法取得NotesForm对象,和NotesForm类的Fields属性读取某个表……
赞一个。如果从存储数据的角度来看,Notes和其他数据库其实没什么区别。呵呵。
解决方案六:
学习了
解决方案七:
引用4楼joviqqqq的回复:
引用2楼fare2000的回复:不知道你为什么一定要用自定义的表单,把思路反过来,你就用Notes的表单来创建和存储文档,你自己再定义显示和编辑逻辑(这些同样可以用公式或ajax方式来控制),换句话说就是把Notes文档当作后台数据库,而你写的公式或Javascript代码定义显示和存储逻辑。你可以用NotesDatabase类的GetForm()方法取得NotesForm对象,和N……...Notes和其他数据库其实没什么区别...
区别是很大滴...关系型有严格的表结构约束,notes没有,在一个文档中,我想存多少数据就可以存多少数据我可以根据不同的用处来管理这些数据若用关系型来处理,需要一堆表+外键,而且非常不灵活