自己开发的web快速开发平台教程(5),表单(Form)的使用教程

Python Django Web开发之表单 网页的数据输入、修改、删除及资源访问,需要频繁通过表单处理功能实现。Django除了可以配合纯HTML表单使用,还提供了自有的Form、ModelForm类表单处理功能,以及安全处理机制,能使开发效率得到提高。 7.1 初识表单 在2.1节中,我们介绍了HTML的<form>…</form>标签,此标签就是表单标签,它提供了数据输入、选项选择、下拉框选择、数据提交、数据验证等功能,同时可以通过HTTP将数据发送到Web服务器端进行处理,最后接收服务器端的响应结果。 <form>标签功能由以下属性 阅读详情

       业务表单是业务数据录入的主要界面,在系统中必不可少,表单内的填写项与数据库表的字段相对应,保存表单时,把表单项输入的内容保存到对应的数据库业务表中。因此,同一个业务表单一般会分为新增用的、修改用的、显示用的三个类型界面。但在实际应用中,做三个同样的表单不仅费时费力,还不好维护,所以应该要做到三种类型的表单共用一个业务表单,这样将大大减少开发量。

下面就以一个新闻表单做为例子进行简单说明

新闻表结构如下图,其中NEWS_ID字段为主键,数字型。

1)在定义好这个表结构后,就可以用hibernate来生成这个表的实体类了,如下图

2)编写表单,如以下代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="/WEB-INF/bl_tag.tld" prefix="BL"%>

<html>
  <head>

    <BL:RootBase id="blRoot" form_id="xmglForm" ></BL:RootBase>
    <title></title>
	<script>
			//按钮单击
		 function onBtnClick(_id){
		 	if(_id=='rcBaseToolbar0'){
					var win = top.bl_global.getParentFrame(top,'fb');
					bl_global.form_submit('SaveNews');
					win.bl_global.grid_reload(win.grid_NewsPage);		 		
		 	}
		 	if(_id=='rcBaseToolbar4'){
				top.bl_global.pop_window_x_close('fb');
		 	}
		 }
	</script>
  </head>
<body id="body_lay" >
<BL:DataSet name="NewsForm" context="NewsForm" id="NewsForm"></BL:DataSet>
<form method="post" id="xmglForm" append="true" >
<table align="center" style="margin-top: 20px" id="projectTable" width="95%" class="bltable" border="0"   cellspacing="0"  >
<tbody>
<tr>
<td class="bg" width="90px" height="24">
	新闻标题
</td>
<td colspan="3">
	<BL:TextBox valid_auth="[{0:[notempty,'请输入新闻标题!']}]"   id="NEWS_TITLE" key="NEWS_TITLE" context="NewsForm" type="text" ></BL:TextBox>
</td>
</tr>

<tr>
<td class="bg"  height="24">
	发布人
</td>
<td >
	<BL:TextBox style="width:120px" id="NEWS_FBR" key="NEWS_FBR" context="NewsForm" type="text" readonly="true" defaultvalue="u.name"></BL:TextBox>
</td>
<td class="bg"  height="24">
	发布时间
</td>
<td >
	<BL:TextBox style="width:120px"   id="NEWS_TIME" key="NEWS_TIME" context="NewsForm" type="text" readonly="true"  defaultvalue="d.today"></BL:TextBox>
</td>
</tr>

<tr>
<td class="bg"  height="24">
	发布机构
</td>
<td >
	<BL:TextBox style="width:120px" id="NEWS_ORG_NAME" key="NEWS_ORG_NAME" context="NewsForm" type="text" readonly="true" defaultvalue="u.orgname"></BL:TextBox>
</td>
<td class="bg"  height="24">
	状态
</td>
<td >
	<BL:ComboBox id="NEWS_STATUS" key="NEWS_STATUS" text="[{'发布':'发布'},{'未发布':'未发布'}]" defaultvalue="发布"></BL:ComboBox>
</td>
</tr>


<tr>
<td class="bg"  height="24">
	新闻内容
</td>
<td colspan="3">
	<BL:PPEditor id="NEWS_TEXT" context="NewsForm" init_editor_jslib="true" toolbar="FULL" ></BL:PPEditor>	
</td>
</tr>
</tbody>
</table>
 </form>
  <BL:Layout patterns="1C" parentid="body_lay" id="RcCountLayout" init_layout_jslib="true" autoresize="true">
	  <BL:LayoutItem  hidden_head="true" id="a1" parent_layout_id="RcCountLayout" object_id="xmglForm" title="" parent_layout_cell="a" inner_toolbar_id="rcBaseToolbar"   inner_grid_id="">
	  			<BL:ToolBar skins="dhx_skyblue" id="rcBaseToolbar" parentid="" onclick="onBtnClick" layout_toolbar_id="rcBaseToolbar" grid_id="">
					<BL:ToolBarItem index="0" valid_auth="{'VIEW_MODE':'R'}" name="保存"  button_mode="btn" id="rcBaseToolbar" icon="save.png"></BL:ToolBarItem>	
					<BL:ToolBarItem index="3" name="" button_mode="sep" id="rcBaseToolbar"></BL:ToolBarItem>	
					<BL:ToolBarItem index="4" name="关闭"  button_mode="btn" id="rcBaseToolbar" icon="close.png"></BL:ToolBarItem>	
					<BL:ToolBarItem index="5" name="" button_mode="sep" id="rcBaseToolbar"></BL:ToolBarItem>	
				</BL:ToolBar>  		
	  
	  
	  </BL:LayoutItem>
  </BL:Layout>
 
<BL:TextBox  context="NewsForm" id="NEWS_ID" key="NEWS_ID" type="hidden"></BL:TextBox>
<BL:TextBox  context="NewsForm" id="NEWS_FBR_ID" key="NEWS_FBR_ID" type="hidden"></BL:TextBox>
<BL:TextBox  context="NewsForm" id="NEWS_ORG_ID" key="NEWS_ORG_ID" type="hidden" defaultvalue="u.orgid"></BL:TextBox>
</html>

上面代码出现的都是表单的组件标签,平台约定,组件的名称对应表中的字段名称,如上边的

 id="NEWS_TITLE" key="NEWS_TITLE"

就是对应表中的 NEWS_TITLE 字段,只要对应好了,在提交到后台时,平台会自动匹配并保存到数据库。

保存的代码就是上面的

	<script>
			//按钮单击
		 function onBtnClick(_id){
		 	if(_id=='rcBaseToolbar0'){
					var win = top.bl_global.getParentFrame(top,'fb');
					bl_global.form_submit('SaveNews');
					win.bl_global.grid_reload(win.grid_NewsPage);		 		
		 	}
		 	if(_id=='rcBaseToolbar4'){
				top.bl_global.pop_window_x_close('fb');
		 	}
		 }
	</script>
在提交完成后,还刷新了一下新闻列表。

运行效果如下图


3) 配置按钮点击保存操作名称为"SaveNews"的方法,前面教程有学过,配置如下

	<Operate auth="保存新闻信息" class=""  next_operate="" name="SaveNews"  source="dhx" method="" esbmq="" auto="true" operate_mode="add" commit="true" operate_entity="LytNews" entity_primary="NEWS_ID">
		<Return value="pass:error" msg="新闻信息保存成功!:新闻信息保存失败!" ></Return>
	</Operate>	
4) 在录入内容后,点击保存即可提交成功!如下图


5)编辑表单、查看表单都可以共用这一个表单。如下图

选中刚才的新闻记录后,选编辑,即可进行编辑状态的表单,新闻列表页面的按钮代码如下

		 function onBtnClick(_id,grid_object){
		 	var w = $(window).width()-40;
		 	var h = $(window).height()-20;
		 	if(_id=='rcBaseToolbar0'){
					top.bl_global.open_window('新增新闻','fb',w,h,'gxly/news/news_form.jsp' ,null,false,true,false,window);
		 	}
		 	if(_id=='rcBaseToolbar4'){
 		 		var dt_id = grid_object.getSelectedRowId();
 		 		if(dt_id!=''){
				   top.bl_global.open_window('编辑新闻','fb',w,h,'gxly/news/news_form.jsp?NEWS_ID='+dt_id ,null,false,true,false,window);
 		 		}
		 	}
		 	if(_id=='rcBaseToolbar6'){
 		 		var dt_id = grid_object.getSelectedRowId();
 		 		if(dt_id!=''){
				  	bl_global.pop_dialog('请选择要删除的新闻记录','yesno',null,null,null,'bl_global.grid_delete(grid_NewsPage)','bl_global.dialog_close()');
 		 		}
		 	}
		 	if(_id=='rcBaseToolbar10'){
		 		bl_global.open_query_window('查询','w_query',500,135,null,'squery',grid_object);
			}
		 }
    
        /**查看新闻信息*/
        function onViewNews(_id){
            var w = $(window).width()-40;
             var h = $(window).height()-20;
                   top.bl_global.open_window('查看新闻','fb',w,h,'gxly/news/news_view.jsp?NEWS_ID='+_id+'&VIEW_MODE=PRINT_MODE' ,null,false,true,false,window);
        }

可以看到,新增和编辑都是使用news_form.jsp,只不过编辑时,传了主键的值过去。如下图

可以看见变成编辑状态了,在保存时,平台自动会判断是否编辑状态,并决定调用insert或updata的平台内部实现方法。


而查看新闻也是一样,在点击记录行的标题名称时,除了传主键值过去以外,

还多了个参数

VIEW_MODE=PRINT_MODE

平台就可以知道,此表单以查看形式表现。

特点:

与传统的struts相比,免去配置action、actionForm等等这些配置,也不用什么spring注入什么类,把配置最小化,追求实用及简单。

也不用写什么insert table,updata 之类的SQL语句,平台自动完成,程序员只需要关心表单的制作。

表单还可以配置数据有效性的校验,如以上标题的代码

<BL:TextBox valid_auth="[{0:[notempty,'请输入新闻标题!']}]"   id="NEWS_TITLE" key="NEWS_TITLE" context="NewsForm" type="text" ></BL:TextBox>
运行效果如下图


平台表单支持各种校验规则,如不能为空、数字、email、移动电话等等,并可以扩展,其实就是添加正则校验库而已。


基本一个新闻表单的演示就基本讲完了,主要也是配置,关键点就是表单的表单项命名要与数据库表的字段命名一致就行了。









HTML5表单Form之属性 一.什么是form? Form表单主要用于用户与Web应用程序进行数据的交互,它允许用户将数据发给Web应用程序,网页也可以拦截数据的发送以便自己使用。form通常由一到多个表单控件组成,这些表单控件是单行/多行文本框,下拉菜单,按钮,复选框,单选按钮,使用表单控件时一般要配合label标签,用于描述其目的。 二.Form标签可用属性 action 用于处理表单信息的应用程序的地址method 浏览器用来提交表单的HTTP方法,常用的get/post。 get 对应... 阅读详情

相关推荐

web前端开发之Form表单

1.html(需要引入bootstrap) <div class="form"> <form action="post" class="form_box" id="registration_form" onsubmit="return false"> ...

吴小花的博客 4483

离线版bootstrap可视化布局_如何利用快速开发平台可视化开发表单?

快速开发平台,简单的理解就是:开发人员以某种编程语言或者某几种编程语言(比如:目前流行的多种web技术,包括springboot, JPA,Druid, Activiti,Lombok,swagger,poi,WebSocket,Jquery,BootStrap, maven,Jenkins 等等 )为基础,将各种需要的功能封装在不同的层中,具大家调用而开发出来的一个软件。这个软件其实不是一个最终...

weixin_39902875的博客 375

DoNet学习-WebForm视频教程(30集)

资源名称:DoNet学习-WebForm视频教程(30集)资源目录:【】7ab37727cfeaf3ac0e59eff10c664831【】WebForm状态_上午1复习页面生命周期复习Transfer【】WebForm状态_上午2ViewState使用以及原理【】WebForm状态_上午4上午ViewState四点【】WebForm状态_上午5添 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。

ASP.NET Web Form学习

ASP.NET Web Form学习 0.aspx与html 它如何工作? 从根本上讲,ASP.NET 页面与 HTML 完全相同。 HTML 页面的扩展名是 .htm 或 .html。假如浏览器从服务器请求某张 HTML 页面,服务器不进行任何修改,就会把该页面发往浏览器。 ASP.NET 页面的扩展名是 .aspx。如果浏览器请求某张 ASP.NET 页面,那么在把结果发回浏览器之前,服务器首先会处理页面中的可执行代码。 上面的 ASP.NET 页面不包含任何可执行的代码,因此也不会执行任何代码。在下面

Harris-H的博客 2408

TCP协议中ARQ自动重传的三种实现方式对比(含SACK详解)

本文深入解析TCP协议中ARQ自动重传的三种实现方式,包括停止-等待、回退N步和选择重传协议,特别详细介绍了SACK机制的工作原理和优势。通过对比分析各协议的效率、复杂度和适用场景,为网络通信中的可靠性传输提供了实用的选型指南。

weixin_30776273的博客 462

浅析图像处理中的名词:Gamma 校正(Gamma变换、Gamma调整)

浅析图像处理中的名词:Gamma 校正(Gamma变换、Gamma调整)

qq_51908382的博客 1万+

Selenium

第一章 Selenium 概述# 1.1.Selenium 发展史# ​ Selenium是一系列基于Web的自动化工具,提供一套测试函数,用于支持Web自动化测试。函数非常灵活,能够完成界面元素定位、窗口跳转、结果比较。具有如下特点: 多浏览器支持 如IE、Firefox、Safari、Chrome、Android手机浏览器等。 支持多语言 如Java、C#、Python、Ruby、PHP等。 支持多操作系统 如Windows、Linux、IOS、Android等。 开源免费

qq_22368681的博客 1712

Vivado+VCS+Verdi三件套实战:如何高效仿真AXI VIP并快速查看波形

本文详细介绍了如何利用Vivado+VCS+Verdi工具链高效仿真AXI VIP并快速查看波形。通过环境配置、Vivado工程准备、VCS编译与仿真优化以及Verdi波形分析技巧,实现仿真速度的数量级提升,显著提高FPGA开发效率。

red88的博客 1000

关于webform的简单的基础操作 1.了解控件(三)

这次就说一下最后一个常用的控件BUTTON,按钮,还有一个linkBUTTON 这个是linkbutton,相当于a标签 这些就是webform简单的常用控件,如果有什么不对的地方,可以在下方评论,我也会及时更正

qq_45846870的博客 432

SMIC Memory配置与Library Compiler实战:从lib到db的高效转换

本文详细介绍了SMIC Memory Compiler的配置要点与使用Library Compiler将.lib文件高效转换为.db文件的完整流程。文章深入解析了关键配置参数对性能和面积的影响,并提供了从交互式操作到自动化脚本的实战指南,帮助数字芯片设计工程师顺利完成存储器模型的生成与集成,确保Design Compiler能正确调用。

weixin_28314575的博客 335

C#与西门子PLC S7-1500 S7协议PLC读写数据

/获取对应长度的字符串。//将val字符串转换为字符数组。//String写入。//String读取。//PLC类型 IP地址 机架号 槽号。1.类库使用S7netplus。

softshow1026的博客 5576

WebForm基础

WebForm中并不是所有控件都是常用的,初学者的目的是用最短的时间学最有用的内容。工具箱中“标准”中常用的控件如下:Label、Button、LinkButton、ImageButton、HyperLink、DropDownList、ListBox、CheckBox、RadioButton、Literal、FileUpload。很多书上讲WebForm的时候讲把大量的篇幅放到GridView、DataList、DetailsView、Repeater、ListView等这些数据绑定控件上,其实这些控件大同

Start_Strive的博客 1044

Excel COUNTIF函数精确统计全解析:从模糊匹配到精准计数

在数据处理与办公自动化领域,条件计数是数据分析的基础操作,其核心原理在于对特定范围内满足设定条件的单元格进行识别与汇总。Excel中的COUNTIF函数是实现这一功能的常用工具,它通过文本匹配逻辑与通配符机制来执行条件判断。然而,其默认的模糊匹配行为常导致统计结果偏离预期,这正是精确统计的技术价值所在——确保数据汇总的准确性与可靠性,直接影响业务报告、薪酬核算、销售分析等应用场景的决策质量。本文聚焦COUNTIF函数的精确匹配技巧,深入剖析通配符(如星号*和问号?)的转义使用(通过波浪号~),并针对大小写敏

weixin_29040367的博客 353

一周学会Django5 Python Web开发 - Django5 Form表单定义与使用

Django5 Form表单定义与使用

java1234的博客 975

2026年美赛数学建模竞赛 MCM B题:使用太空电梯系统建立月球殖民地 问题一 月球殖民地材料运输的三种场景建模 详细解题思路和代码

如果运输系统不能完美工作(例如,系绳摆动、火箭失败、电梯故障等),你的解决方案在多大程度上会发生变化?技术可行性:三种方案在技术上都是可行的,但挑战不同 经济性:混合方案在长期视角下最具成本效益 时间效率:并行运输可以显著缩短总建设时间环境影响:太空电梯的环境优势明显,混合方案可平衡需求风险分散:混合方案提供了天然的风险分散机制

YOLO 615

边缘AI工业落地:YOLO26-Seg + RK3588 NPU 极致部署(低功耗+实时实例分割,工业场景全覆盖)

本次实战汇总了「YOLO26-Seg+RK3588 NPU」工业边缘部署中最常见、最致命的8个坑点,所有坑点均来自真实工业项目,解决方案均为零代码/一键操作,无需复杂配置,能让你少走90%的弯路,节省大量时间,必看必记!❌ RKNN转换报错「算子不支持/模型加载失败」→ ✅ 导出ONNX时必须指定opset=12,重新导出即可,RK3588唯一兼容版本;❌ 分割mask错位/轮廓模糊 → ✅ 导出ONNX时加,并保证RKNN的归一化参数与YOLO26一致,零代码修复;

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1717

form表单提交的几种方式

表单提交方式一:直接利用form表单提交 html页面代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>Insert title here</title> </head> <body> <form action="h...

a1194821568的博客 17万+

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

form表单详解

form表单详解form表单属性 表单在Web网页中用以让访问者输入数据,当提交表单时,表单中输入的数据被打包传递给Web服务器端的程序以处理,从而使得Web服务器与用户之间具有交互功能。 表单实现前后台交互:用户将表单提交到后台再右后台提交到数据库的过程,实现前后端交互。 form表单属性 form支持HTML的全局属性 属性 值 描述 accept MIME_type HTML5 不支持。规定服务器接收到的文件的类型。(文件是通过文件上传提交的) accept-charset cha

JiuMeilove的博客 4万+

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Web前端 | HTML表单form

Web前端 | HTML表单form

m0_61933976的博客 4892

web 前端开发Form表单

表单在web网页中用来给用户填写信息,从而能采用用户信息,使网页具有交互功能。所有的用户输入内容的地方都用表单来填写,如登陆注册、搜索框表单是由容器和控件组成的,一个表单一般应该包含用户填写信息的输入框,提交按钮等,这些输入框,按钮叫做控件,表单就是容器,它能够容纳各种各样的控件。

2301_79951760的博客 2067

【a-form】form表单的使用

定义form表单,form表单会采集包含的有效数据,提交到后端,进行交互name:表单提交时的名称action:提交到的地址method:提交方式, 默认情况下不写method属性的时候就相当于method=“get”method 方法规定如何发送表单数据(form-data)(表单数据会被发送到在 action 属性中规定的页面中)。表单数据可被作为 URL 变量的形式来发送(method=“get”)或者作为 HTTP post 事务的形式来发送(method=“post”)。

搬砖記 1172

HTML5的表单(form)介绍

HTML 表单(form)介绍

cnds123的专栏 9529

html5之form表单

表单在 Web 网页中用来给访问者填写信息,从而能采集客户端信息,使网页具有交互的功能。一般是将表单设计在一个Html 文档中,当用户填写完信息后做提交(submit)操作,于是表单的内容就从客户端的浏览器传送到服务器上,经过服务器上程序处理后,再将用户所需信息传送回客户端的浏览器上,这样网页就具有了交互性。这里我们只讲怎样使用Html 标志来设计表单。 所有的用户输入内容的地方都用表单来写,如登录注册、搜索框。 一个表单一般应该包含用户填写信息的输入框,提交按钮等,这些输入框,按钮叫做控件,表单很像容器,

python全栈 2422

Orange Form 项目介绍:开源快速开发平台

Orange Form 项目介绍:开源快速开发平台 【免费下载链接】orange-form 橙单中台化低代码生成器。可完整支持多应用、多租户、多渠道、工作流 (Flowable & Activiti)、在线表单、自定义数据同步、自定义Job、多表关联、跨服务多表关联、框架技术栈自由组合等。 ...

gitblog_00139的博客 452

form表单属性,小白必会

form 表单标签属性 基本语法 <form action="url("")" method="" name="" enctype="" target=""> </form> 1.action属性 2.method属性 method 的属性值有get和 post。 get method默认值是get,作用是把表单里的所有表单元素提交给服务器。 post 作用是将表单里的所有元素 3.name属性 4.enctype属性 5.target属性 ...

weixin_45817492的博客 5005

web之表单form

表单是我们平常编写Web应用常用的工具,表单(<form>)用来收集用户提交的数据,发送到服务器。比如,用户提交用户名和密码,让服务器验证,就要通过表单。表单是一个包含表单元素或控件的区域。表单元素是允许用户在表单中(比如:文本域、下拉列表、单选框、复选框等)输入信息的元素。表单使用表单标签(<form>)定义。 1. 表单语法 <form.../&...

weixin_30668887的博客 2806
上一篇: 用js识别是否360浏览器
下一篇: phonegap 3.40 for android移动开发框架window系统下安装过程
java_mars
博客等级 码龄20年 88粉丝 44原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值