`

【表单】-004-通过form手动提交表单

阅读更多

1、form手动提交表单的前台界面



 

 

 

 

 

2、/WebContent/jsp/form_004.jsp

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%
	String root = request.getContextPath();
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>表单--form手动提交</title>
<!-- 引入外部样式 -->
<link rel="stylesheet" type="text/css" href="<%=root %>/css/common.css" />
<!-- 引入easyui依赖库 -->
<script type="text/javascript" src="<%=root %>/js/jquery-easyui-1.2.6/jquery-1.7.2.min.js"></script>
<link rel="stylesheet" type="text/css" href="<%=root %>/js/jquery-easyui-1.2.6/themes/default/easyui.css" />
<link rel="stylesheet" type="text/css" href="<%=root %>/js/jquery-easyui-1.2.6/themes/icon.css" />
<script type="text/javascript" src="<%=root %>/js/jquery-easyui-1.2.6/jquery.easyui.min.js"></script>
<script type="text/javascript" src="<%=root %>/js/jquery-easyui-1.2.6/locale/easyui-lang-zh_CN.js"></script>
<script type="text/javascript">
	$(function() {
		
		/*
			表单提交的三种方式:
			1、传统ajax方式提交
			2、定义form自动提交
			3、定义form手动提交
		*/
		
		/*
			1. validatebox验证框组件
			   A、required:定义是否字段应被输入。
			   B、missingMessage:当文本框是空时出现的提示文字。
			   C、invalidMessage:当文本框的内容无效时出现的提示文字。
			   D、validType:定义字段的验证类型,与自定义验证规则配合使用。
			   
		*/
		//自定义验证规则
		$.extend($.fn.validatebox.defaults.rules, {   
		    midLength: {   
		        validator: function(value, param){   
		            return value.length >= param[0] && value.length <= param[1];   
		        },   
		        message: ''  
		    },
		    equalLength: {   
		        validator: function(value, param){   
		            return value.length == param[0];   
		        },   
		        message: '密码必须为{0}个字符'  
		    }   
		}); 
		
		/*
			2. numberbox数字框组件
			   A、min:允许的最小值,若小于最小值,则值自动设置为最小值。
			   B、max:允许的最大值,若大于最大值,则值自动设置为最大值。
			   C、该组件继承了validatebox验证框组件,故可以使用其的属性。
			   D、precision:显示在小数点后面的最大精度。
		*/
		$('#age').numberbox({
			min:0,
			max:150,
			required:true, 
			missingMessage:'年龄必填',
			precision:0
		});
		
		/*
			3. datebox日期框组件
			  A、该组件继承了combo组件,可以使用其的editable属性
			  B、editable:定义是否用户可以往文本域中直接输入文字
			  C、combo组件继承了validatebox验证框组件,故可以使用其的required和missingMessage属性
		*/
		$('#birthday').datebox({
			required:true,
			missingMessage:'生日必填',
			editable:false
		});
		
		/*
			4. combobox下拉框组件
			 A、url:从远程加载列表数据的url。
			 B、valueField:绑定到 ComboBox的 value上的基础数据的名称,与json的key一致。
			 C、textField:绑定到combobox的text上的基础数据的名称,与json的value一致。
			 D、panelHeight:值为auto表示下拉框的高度自适应。
		*/
		$('#city').combobox({
			url:'<%=root%>/UserServlet?method=getCity',
			valueField:'id',
			textField:'name',
			required:true, 
			missingMessage:'所属城市必填',
			editable:false,
			panelHeight:'auto'
		});
		
		//numberbox数字框组件
		$('#salary').numberbox({
			min:1000,
			max:20000,
			required:true, 
			missingMessage:'薪水必填',
			precision:2
		});
		
		/*
			5. datetimebox日期时间框组件
		*/
		$('#starttime,#endtime').datetimebox({
			required:true, 
			missingMessage:'时间必填',
			editable:false
		});
		
		//表单提交方式三:通过form手动提交表单
		$('#myform').form({
			url:'<%=root%>/UserServlet?method=save', //请求地址
			onSubmit: function(){   //提交前的检查工作
				//validate方法:进行表单字段验证,当全部字段都有效时返回 true。
				//这个方法和 validatebox插件一起使用
				if(!$('#myform').form('validate')) {
					$.messager.show({
						title:'提示信息',
						msg:'数据校验不通过,请先检查数据'
					});
					return false; //表单验证不通过的时候 必须要return false 
				}
			},
			success:function(result) {
				var result = $.parseJSON(result);
				$.messager.show({
					title:result.status , 
					msg :result.message
				});
			}
		});
		
		//手动提交表单
		$('#btn').click(function() {
			$('#myform').submit(); 
		});
		
		
	});
</script>
</head>
<body>
	<div id="mydiv" class="easyui-panel" title="新增用户" iconCls="icon-add"
		style="width:400px; height:350px;">
		<form id="myform" action="" method="post">
			<table>
				<tr>
					<td>用户名:</td>
					<td><input type="text" name="username" class="easyui-validatebox" required="true" missingMessage="用户名必填" validType="midLength[2,5]" invalidMessage="用户名必须在2到5个字符之间"/></td>
				</tr>
				<tr>
					<td>密码:</td>
					<td><input type="password" name="password" class="easyui-validatebox" required="true" missingMessage="密码必填" validType="equalLength[4]" /></td>
				</tr>
				<tr>
					<td>性别:</td>
					<td>
						男<input type="radio" name="sex" checked="checked" value="1">
						女<input type="radio" name="sex" value="2">
					</td>
				</tr>
				<tr>
					<td>年龄:</td>
					<td><input id="age" type="text" name="age"></td>
				</tr>
				<tr>
					<td>出生日期:</td>
					<td><input id="birthday" type="text" name="birthday" style="width:146px;"/></td>
				</tr>
				<tr>
					<td>所属城市:</td>
					<td><input id="city" type="text" name="city" style="width:146px;"></td>
				</tr>
				<tr>
					<td>薪水:</td>
					<td><input id="salary" type="text" name="salary" /></td>
				</tr>
				<tr>
					<td>开始时间:</td>
					<td><input id="starttime" type="text" name="starttime" style="width:160px;"/></td>
				</tr>
				<tr>
					<td>结束时间:</td>
					<td><input id="endtime" type="text" name="endtime" style="width:160px;"/></td>
				</tr>
				<tr>
					<td>个人描述:</td>
					<td><input type="text" name="description" class="easyui-validatebox" required="true" missingMessage="个人描述必填" validType="midLength[5,50]" invalidMessage="个人描述必须在5到50个字符之间"/></td>
				</tr>
				<tr align="center">
					<td colspan="2">
						<a id="btn" class="easyui-linkbutton">保存</a>
					</td>
				</tr>   
			</table>
		</form>
	</div>
</body>
</html>

 

  • 大小: 20.7 KB
  • 大小: 30.5 KB
  • 大小: 3.4 KB
  • 大小: 42.7 KB
  • 大小: 7.1 KB
分享到:
评论

相关推荐

    ajax-axios-url-form-serialize 插件

    这个插件使得在发送POST、PUT等请求时,能够轻松地处理表单数据,而无需手动进行繁琐的序列化操作。 **一、Axios简介** Axios是一个基于Promise的HTTP库,可用于浏览器和node.js中。它具有以下特点: 1. 支持浏览器...

    angular的表单设计器 angular-form-builder

    总结来说,Angular-Form-Builder为Angular开发者提供了一种高效、灵活的方式来创建动态和复杂的表单,减少了手动编写表单代码的工作量,提升了开发效率。通过深入理解和实践,你可以构建出满足各种需求的自定义表单...

    Form表单js设计器生成器

    通过使用"Form表单js设计器生成器",开发者可以快速创建符合Bootstrap设计规范的高质量表单,降低手动编写HTML和JavaScript的复杂度,提高开发效率。同时,这种可视化设计方式使得非编程背景的设计师也能参与到表单...

    前端项目-angular-schema-form.zip

    5. **表单验证**:库内建了对JSON Schema中定义的验证规则的支持,这意味着表单提交时会自动进行数据验证,提供了一致且可靠的用户体验。 6. **可扩展性**:Angular Schema Form允许开发者自定义表单组件,以满足...

    JQuery.form表单提交参数详解.txt

    通过以上介绍,我们可以看出 JQuery Form 插件提供的 `ajaxForm()` 和 `ajaxSubmit()` 方法极大地简化了 AJAX 表单提交的过程。合理配置这些选项可以帮助我们更高效地开发 Web 应用程序。希望本文能够帮助大家更好地...

    form表单的异步回调方法

    通过以上步骤,我们可以实现一个form表单的异步回调,使得用户能够在提交表单后等待后台响应,而无需等待页面刷新。这种方法在现代Web应用中非常常见,特别是在需要动态更新内容或进行复杂交互的场景下。在压缩包`...

    react-reactjsonschemaform一个React组件用于从JSONSchema构建Web表单

    通过使用JSONSchema,开发者可以声明式地定义表单字段、输入类型、验证规则等,从而减少手动编写表单代码的工作量。 描述中提到的“react-jsonschema-form - 一个React组件用于从JSONSchema构建Web表单”,进一步...

    PHP表单生成器,快速生成现代化的form表单

    通过配置表单字段、设置验证规则、绑定事件处理函数,开发者可以构建出高度定制化的表单。 在“form-builder-master”这个压缩包文件中,可能包含了源代码、示例文件、文档和测试用例。源代码通常会分为前端和后端...

    基于form-data请求格式详解

    JavaScript中,XMLHttpRequest Level 2引入了FormData接口,允许开发者使用JavaScript来构建键值对的集合,并模拟表单提交。使用FormData对象,开发者可以更方便地组织文件和文本数据进行上传。例如,使用fetch API...

    使layui.js form 可主动验证表单是否通过

    使layui.js form 可主动验证表单是否通过。扩展layui下的form.js 。文章链接 https://blog.csdn.net/qq_17837497/article/details/107505486

    Laravel开发-laravel-base-form-bulider

    这里的`Form::open()`用于打开表单,`Form::text()`和`Form::password()`分别创建文本输入和密码输入字段,`Form::submit()`则生成提交按钮,最后`Form::close()`关闭表单。 `laravel5-base-form-builder-master`...

    一个from表单提交多个功能

    这里通过`if...else`语句判断传入的`btn`参数,根据不同的功能设置表单的`action`属性,并通过`document.myForm.submit()`方法手动触发表单提交。 #### 后端处理 在后端服务器上,你需要针对不同的`action`值编写...

    Laravel开发-laravel-model-form-maker

    为了提高开发效率,"Laravel开发-laravel-model-form-maker"是一个实用的工具包,它允许开发者通过模型对象自动生成相应的表单代码。这个包极大地简化了表单创建流程,减少了手动编写模板的工作量,使得开发者可以...

    java导入导出全部文件jar包,ajax提交form表单返回提示数据

    在form表单提交中,如果希望使用Ajax,你需要阻止表单的默认提交行为,然后使用JavaScript手动构造并发送Ajax请求。同时,你需要在后端设置接收和处理这些请求的接口。例如,在Spring MVC框架中,你可以定义一个...

    Spring Cloud使用Feign实现Form表单提交的示例

    总之,通过引入`feign-form`和`feign-form-spring`依赖,并在Feign客户端接口中使用适当的配置和编码器,我们可以在Spring Cloud环境中轻松实现Form表单数据的提交。这使得我们的微服务能够与各种类型的Web服务进行...

    C#使用multipart/form-data示例

    1. **理解multipart/form-data**:`multipart/form-data`主要用于提交表单,特别是当表单中包含文件上传时。每个部分之间用分隔符(如`--Boundary`)进行区分,每个部分都有自己的Content-Type和可选的头部信息。 2...

    说说回车键触发表单提交的问题

    - **设置默认提交按钮**:通过设置`form`属性,将某个按钮指定为表单的默认提交按钮,例如`&lt;button form="myForm" type="submit"&gt;提交&lt;/button&gt;`。 - **监听键盘事件**:使用JavaScript,通过监听`keyup`或`keydown`...

    二次聚合封装elementui的formtable组件实现数据驱动视图

    在Vue.js开发中,Element UI 是一个非常流行的前端UI库,它提供了丰富的组件,如表格(Table)、表单(Form)等,极大地提高了开发效率。本项目“二次聚合封装elementui的formtable组件实现数据驱动视图”是针对...

    自动生成式form表单

    form表单也可以支持文件上传,通过`&lt;input type="file"&gt;`控件让用户选择文件,并使用`enctype="multipart/form-data"`指定表单的编码类型。 综上所述,自动生成式form表单是现代Web开发中的一个重要组成部分,它...

    vue自定义表单生成器form-create使用详解

    `form-create` 支持 Vue 的各种组件,并且提供了丰富的功能,如动态渲染、数据收集、验证以及表单提交。以下是对 `form-create` 的详细解析: ### 主要特性 1. **动态渲染** - 只需提供 JSON 配置,即可自动生成...

Global site tag (gtag.js) - Google Analytics