Domino 自定义表单遇到的一个关键问题

问题描述

这几天在处理自定义表单的几个问题。目前有一个比较麻烦的问题需要讨论一下。目前我我通过文档配置字段列表,根据字段生产表单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没有,在一个文档中,我想存多少数据就可以存多少数据我可以根据不同的用处来管理这些数据若用关系型来处理,需要一堆表+外键,而且非常不灵活

时间: 2024-11-03 11:14:05

Domino 自定义表单遇到的一个关键问题的相关文章

织梦自定义表单如何取出一个字段的值,并形成option

最近在使用织梦做站的时候,客户用了自定义表单的情况下 其中有一个字段是一个下拉菜单,织梦原带的样式基本不能满足要示,所以自己做了样式,那么怎么才能做到,用户修改了下拉框的值,前台及时做出改变呢, 看了一下代码,发现了大体上流程是这样的 post_diyform.htm中有这样的代码,表示$postform是生成的代码 <?phpecho $postform; ?> 在diy.php中有这样的代码   require_once DEDEINC.'/diyform.cls.php'; $diy =

如何设置dedecms自定义表单必填项?

用dedecms自定义表单可以制作一个简单的预约系统,有些相关信息需要设置为必填项,比如联系方式,没有留下真实的电话或其他信息,以后要怎么联系到你的客户.那我们要如何设置织梦cms自定义表单必填项呢?随ytkah一起试试吧 一.先用一段php代码来判断验证码为必选项.找到文件plus/diy.php文件中的第40行左右加上以下代码: //增加必填字段判断 if($required!=''){if(preg_match('/,/', $required)){$requireds = explode

UTF-8编码的网页如何自定义表单提交给百度搜索

有时,为了方便访问者直接在自己的网站调用百度的搜索功能,自己就自定义的写了一个表单来提交到百度的网址,代码如下: <form action="http://www.baidu.com/s" id="fbd" target="_blank">  <p class="tt">百度优化搜索</p>  <p class="input"><input type=&

activiti自定义流程之自定义表单(二):创建表单

注:环境配置:activiti自定义流程之自定义表单(一):环境配置 在上一节自定义表单环境搭建好以后,我就正式开始尝试自己创建表单,在后台的处理就比较常规,主要是针对ueditor插件的功能在前端进行修改. 由于自己的前端相关技术太渣,因此好多东西都不会用,导致修改实现的过程也是破费了一番功夫,头皮发麻了好几天. 既然是用别人的插件进行修改,那么我想如果只是单独的贴出我修改后的代码,可能没有前后进行对比好理解,因此这里就把原代码和修改后的同时对比着贴出,以便于朋友们能从对比中更快的得到启发.

自定义表单-dedecms如何在前台上传附件到网站后台啊

问题描述 dedecms如何在前台上传附件到网站后台啊 各位大侠,我用dedecms建立了一个网站现在需要建立一个页面(栏目)就是允许任何访问者用户上传附件到该网站,我使用自定义表单上传制作了附件上传功能,但是在本地测试的时候上传上去后台没有反应,求大侠支招,看看怎么回事,另外除了这个办法是否还有另外一个办法可以实现此功能,谢谢大侠们,小弟在此拜过!小弟附上设计稿, 解决方案 自己帮自己顶下,求大侠指点一二 解决方案二: 你贴个页面有什么用..........

activiti自定义流程之自定义表单(三):表单列表及预览和删除

注:(1)环境配置:activiti自定义流程之自定义表单(一):环境配置         (2)创建表单:activiti自定义流程之自定义表单(二):创建表单 自定义表单创建成功,要拿到activiti中使用,自然需要让创建activiti流程的人能够看到究竟有那些表单可用,各表单的效果是什么,因此就需要一个展示页面并提供预览功能.同时,增删改查四大功能是基础,自然都是需要的,我这里没有做表单修改,只简单的实现了删除. 我下载的ueditor插件中有基本的创建和预览代码,因此我就参考这些再度

jquery自定义表单验证插件_jquery

本文实例为大家分享了jquery表单验证插件,供大家参考,具体内容如下 //正则表达式 var map = new Map(); map.put("*", /[\w\W]+/); map.put("*6-16", /^[\w\W]{6,16}$/); map.put("n", /^\d+$/); map.put("n6-16", /^\d{6,16}$/); map.put("s", /^[\u4E00-\

JSP实现用于自动生成表单标签html代码的自定义表单标签_JSP编程

本文实例讲述了JSP实现用于自动生成表单标签html代码的自定义表单标签.分享给大家供大家参考.具体如下: 这个是自己写的一个简单的JSP表单标签,用于自动生成checkbox,select,radio等标签,传入菜单集合生成html代码,自动选中指定值,用于java web项目的jsp页面. 1. Servlet部分代码: Map<String, String> map = new HashMap<String, String>(); map.put("2",

.net jquery绘制自定义表单源码分享_实用技巧

前言 两年前在力控的时候就想做一个类似的功能,当时思路大家都讨论好了,诸多原因最终还是夭折了.没想到两年多后再这有重新提出要写一个绘制表单的功能.对此也是有点小激动呢?总共用时8.5天的时间基本功能也就实现了,当然再者中间也借用了网上的一些资料,公司前端也没有帮忙处理,所以样式和部分功能还没有更好地得到处理,github上出的code只有前端脚本,至于后端的处理,会在博客中体现出来. 1.工作前准备 1.1.实现的思路 思路一: (1)ueditor添加自定义按钮 (2)绘制表单(控件会触发的脚