首页 > 数据库 >第三十九章 构建数据库应用程序 - 将数据绑定到表单

第三十九章 构建数据库应用程序 - 将数据绑定到表单

时间:2022-11-07 08:55:05浏览次数:27  
标签:控件 JavaScript 第三十九章 绑定 应用程序 表单 对象 CSP

第三十九章 构建数据库应用程序 - 将数据绑定到表单

CSP提供了一种将对象数据绑定到HTML表单的机制。这种绑定使用标准的HTML表单和输入控件标签来定义表单,使可以轻松地使用任何HTML编辑器或设计工具来绑定表单。<csp:object>标记指定一个对象实例,属性cspbind被添加到表单和输入控件标记中,以指示它们应该如何绑定。

CSP编译器识别包含cspbind属性的表单,并自动生成代码:

  • 在适当的输入控件中显示指定对象属性的值。
  • 生成客户端JavaScript函数来执行简单的验证(如必需的字段检查)。
  • 生成客户端JavaScript函数以调用生成的服务器端方法来保存绑定对象。
  • 生成服务器端方法,验证并保存表单中的数据输入。这些方法可以使用CSP Event Broker从页面中直接调用,也可以作为表单提交操作的结果来调用它们。
  • 在表单中生成一个隐藏字段OBJID,其中包含绑定表单的对象ID值。

下面是一个绑定到Sample.Person实例的表单的简单示例。

<html>
<head>
</head>
<body>
<csp:object NAME="person" CLASSNAME="Sample.Person" OBJID="1">
<form NAME="MyForm" cspbind="person">
<br>Name:
<input type="TEXT" name="Name" cspbind="Name" csprequired>
<br>SSN:
<input type="TEXT" name="SSN" cspbind="SSN">
<br>City:
<input type="TEXT" name="City" cspbind="Home.City">
<br>
<input type="BUTTON" name="SAVE" value="SAVE" OnClick="MyForm_save();">
</form>
</body>
</html>

本例使用<csp:object> 标记Sample.Person在类中打开的实例(在本例中,对象ID1)。此对象实例名为Person。然后,该示例将对象实例绑定到一个HTML表单,方法是向其form标记添加一个名为cspind的属性,其值为Person

该表单包含三个文本输入控件:NameSSNCity,它们分别绑定到对象属性NameSSNHome.City,方法是向它们的每个输入标记添加一个名为cspind的属性,其值是控件要绑定到的对象属性的名称。

请注意,绑定表单中使用的控件名称必须是有效的JavaScript标识符。

名称控件还有一个名为CSPREQUIRED的属性。这表示这是必填字段(必须为其赋值)。CSP编译器生成客户端JavaScript以测试用户是否为该字段提供了值。

表单上的最后一个控件是一个按钮,该按钮被定义为在单击时调用客户端的JavaScript函数MyForm_saveMyForm_save函数由CSP编译器自动生成。此函数收集表单中控件的值,并将它们发送到服务器端方法(也由CSP编译器自动生成),该方法重新打开对象实例,应用对属性所做的更改,将对象保存到数据库,并将JavaScript发送到客户端以更新表单中的值,以反映保存的内容。

请注意,我们在本文档中定义了HEAD部分。当使用绑定表单时,这是必要的,因为这是CSP编译器在处理绑定表单时可能生成的任何客户端JavaScript的位置。

按照约定,绑定表单中使用的对象的对象IDURL参数OBJID指定。
这使得绑定表单可以与预构建的页面交互,比如CSP Search工具使用的那些页面。
要使用URL参数的值作为对象ID,请在csp:object标记中使用引用它的表达式:

<csp:object NAME="person"
CLASSNAME="Sample.Person" OBJID=#($G(%request.Data("OBJID",1)))#>

标签:控件,JavaScript,第三十九章,绑定,应用程序,表单,对象,CSP
From: https://www.cnblogs.com/yaoxin521123/p/16864850.html

相关文章

  • 架构遗留应用程序和现代化方案
    架构遗留应用程序和现代化方案     毫无疑问,我们所有从事软件工程师或架构师工作的人都曾在任何时候接触过遗留应用程序。在这篇文章中,我们的目标是了解遗留系统和重......
  • 表单
    1、表单语法method:规定如何发送表单数据常用值:getpost在实际网页开发中通常采用post方式提交表单数据action:表示向何处发送表单数据<formmethod="post"action=......
  • #yyds干货盘点#【愚公系列】2022年11月 微信小程序-Form表单
    前言1.Form表单的定义表单在网页中主要负责数据采集功能。一个表单有三个基本组成部分:表单标签:这里面包含了处理表单数据所用CGI程序的URL以及数据提交到服务器的方法......
  • 第三十八章 构建数据库应用程序 - 处理表单提交请求
    第三十八章构建数据库应用程序-处理表单提交请求除了在表单中显示对象的内容外,前面的示例还在用户通过单击Save提交表单时保存对对象的更改。它的工作原理如下。当表......
  • 表单笔记-Antd(Form)
    antd表单使用笔记import{Form}from'antd'exportdefaultconstApp=()=>{constform=Form.useForm();//提交表单constonFinish=(val)=>{//val......
  • 【jquery Ajax 】form表单教学+评论案例
        ✍️作者简介:前端新手学习中。目录​​form表单的基本使用​​​​    什么是表单​​​​    表单的组成部分​​​​标签的属性​​​​ ......
  • freecodeCamp_注册表单
    点击查看代码<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>RegistrationForm</title><linkrel="stylesheet"href="styles......
  • [转]【终极解决方案】为应用程序池“XXX”提供服务的进程在与 Windows Process Activa
    困扰我大半年的错误,今天偶然间被解决了,特此分享给被同样问题纠结的朋友们!之前的求助帖,无人应答:http://www.cnblogs.com/freeton/archive/2012/08/28/2660585.htmlhttp:/......
  • 第三十七章 构建数据库应用程序 - 在页面上使用对象
    第三十七章构建数据库应用程序-在页面上使用对象CSP最强大的方面之一是,它允许创建可以直接与内置对象数据库交互的动态网页。这意味着可以快速构建以下数据库应用程序......
  • Vue表单验证插件Vue Validator使用方法详解
    https://www.jb51.net/article/110609.htmVue-validator是Vue的表单验证插件,供大家参考,具体内容如下Vue版本:1.0.24Vue-validator版本:2.1.3基本使用12345......