带返回值的Form表单的异步提交(struts+json+jQuery.form)

实战详细讲解Qt插件plugin的编写与用法 qt插件的开发,可以说是动态库的开发,因为调用方式类似,多熟悉一下,利用Qt框架开发很简单的。在想想这种调用过程有的熟悉,比如公司买了一堆摄像头,公司要对摄像头进行二次开发,实现自己想要的功能,集成到一套设备里去,然后在卖给用户。此时厂商肯定会提供开发文档,并给你SDK包(软件开发工具包), 包里你会发现只有头文件和一堆库文件,没有源文件,因为实现的过程是产商公司保密的,给你看还得了。所以都封装成了库的形式给你调用,如静态库或者动态库。 阅读详情

Struts2+JSON+jQuery.form

参考URL:http://malsup.com/jquery/form/

http://www.oschina.net/news/20863/55-jquery-form-plugins-to-download-and-use

java.lang.ClassNotFoundException: com.opensymphony.xwork2.util.TextUtils

java.lang.ClassNotFoundException: com.opensymphony.xwork2.util.TextUtils

在下载好的Struts2的lib文件夹里找到了以下jar包:

json-lib-2.x.jar

struts2-json-plugin-2.x.x.jar

struts2-junit-plugin-2.x.x.jar

上面三个包加入项目里之后,再删除jsonplugin-0.3x.jar包

一切都运行正常了

jquery表单插件 jquery.form.js

[JQuery框架应用]:form.js官方插件介绍

Form插件,支持Ajax,支持Ajax文件上传,功能强大,基本满足日常应用。

1、JQuery框架软件包下载
文件: jquery.rar 大小: 29KB 下载: 下载
2、Form插件下载
文件: jquery.form.rar 大小: 7KB 下载: 下载


3、Form插件的简单入门
第一步:先增加一个表单

<form id="myForm" action="comment.php" method="post">
Name: <input type="text" name="name" />
Comment: <textarea name="comment"></textarea>
<input type="submit" value="Submit Comment" />
</form>

第二步:jquery.js和form.js文件的包含

<head>
<script type="text/javascript" src="path/to/jquery.js"></script>
<script type="text/javascript" src="path/to/form.js"></script>
<script type="text/javascript">
// wait for the DOM to be loaded
          $(document).ready(function() {
// bind 'myForm' and provide a simple callback function
          $('#myForm').ajaxForm(function() {
alert("Thank you for your comment!");
});
});
</script>
</head>

3、Form插件的详细使用方法及应用实例

http://www.malsup.com/jquery/form/

============================
该插件的作者在介绍form.js时,说了这样的一句话:

Submitting a form with AJAX doesn't get any easier than this!

表单插件API


英文原文:http://www.malsup.com/jquery/form/#api

表单插件API提供了几个方法,让你轻松管理表单数据和进行表单提交。

ajaxForm

增加所有需要的事件监听器,为AJAX提交表单做好准备。ajaxForm不能提交表单。在document的ready函数中,使用ajaxForm来 为AJAX提交表单进行准备。ajaxForm接受0个或1个参数。这个单个的参数既可以是一个回调函数,也可以是一个Options对象。
可链接(Chainable):可以。

实例:

$('#myFormId').ajaxForm();


ajaxSubmit

马上由AJAX来提交表单。大多数情况下,都是调用ajaxSubmit来对用户提交表单进行响应。ajaxSubmit接受0个或1个参数。这个单个的参数既可以是一个回调函数,也可以是一个Options对象。
可链接(Chainable):可以。

实例:
// 绑定表单提交事件处理器
$('#myFormId').submit(function() {
// 提交表单
$(this).ajaxSubmit();
// 为了防止普通浏览器进行表单提交和产生页面导航(防止页面刷新?)返回false
return false;
});


formSerialize

将表单串行化(或序列化)成一个查询字符串。这个方法将返回以下格式的字符串:name1=value1&name2=value2。
可链接(Chainable):不能, 这个方法返回一个字符串。

实例:
var queryString = $('#myFormId').formSerialize();

// 现在可以使用$.get、$.post、$.ajax等来提交数据
$.post('myscript.php', queryString);

fieldSerialize

将表单的字段元素串行化(或序列化)成一个查询字符串。当只有部分表单字段需要进行串行化(或序列化)时,这个就方便了。这个方法将返回以下格式的字符串:name1=value1&name2=value2。
可链接(Chainable):不能,这个方法返回一个字符串。

实例:
var queryString = $('#myFormId .specialFields').fieldSerialize();


fieldValue

返回匹配插入数组中的表单元素值。从0.91版起,该方法将总是以数组的形式返回数据。如果元素值被判定可能无效,则数组为空,否则它将包含一个或多于一个的元素值。
可链接(Chainable):不能,该方法返回数组。

实例:
// 取得密码输入值
var value = $('#myFormId :password').fieldValue();
alert('The password is: ' + value[0]);


resetForm

通过调用表单元素原有的DOM方法,将表单恢复到初始状态。
可链接(Chainable):可以。

实例:
$('#myFormId').resetForm();


clearForm

清除表单元素。该方法将所有的文本(text)输入字段、密码(password)输入字段和文本区域(textarea)字段置空,清除任何select元素中的选定,以及将所有的单选(radio)按钮和多选(checkbox)按钮重置为非选定状态。
可链接(Chainable):可以。

$('#myFormId').clearForm();


clearFields

清除字段元素。只有部分表单元素需要清除时才方便使用。
可链接(Chainable):可以。

$('#myFormId .specialFields').clearFields();


Options对象

ajaxForm和ajaxSubmit都支持众多的选项参数,这些选项参数可以使用一个Options对象来提供。Options只是一个JavaScript对象,它包含了如下一些属性与值的集合:

target

指明页面中由服务器响应进行更新的元素。元素的值可能被指定为一个jQuery选择器字符串,一个jQuery对象,或者一个DOM元素。
默认值:null。

url

指定提交表单数据的URL。
默认值:表单的action属性值

type

指定提交表单数据的方法(method):“GET”或“POST”。
默认值:表单的method属性值(如果没有找到默认为“GET”)。

beforeSubmit

表单提交前被调用的回调函数。“beforeSubmit”回调函数作为一个钩子(hook),被提供来运行预提交逻辑或者校验表单数据。如果 “beforeSubmit”回调函数返回false,那么表单将不被提交。“beforeSubmit”回调函数带三个调用参数:数组形式的表单数 据,jQuery表单对象,以及传入ajaxForm/ajaxSubmit中的Options对象。表单数组接受以下方式的数据:

[ { name: 'username', value: 'jresig' }, { name: 'password', value: 'secret' } ]


默认值:null

success

表单成功提交后调用的回调函数。如果提供“success”回调函数,当从服务器返回响应后它被调用。然后由dataType选项值决定传回responseText还是responseXML的值。
默认值:null

dataType

期望返回的数据类型。null、“xml”、“script”或者“json”其中之一。dataType提供一种方法,它规定了怎样处理服务器的响应。这个被直接地反映到jQuery.httpData方法中去。下面的值被支持:

'xml':如果dataType == 'xml',将把服务器响应作为XML来对待。同时,如果“success”回调方法被指定, 将传回responseXML值。

'json':如果dataType == 'json', 服务器响应将被求值,并传递到“success”回调方法,如果它被指定的话。

'script':如果dataType == 'script', 服务器响应将求值成纯文本。


默认值:null(服务器返回responseText值)

semantic

Boolean flag indicating whether data must be submitted in strict semantic order (slower). Note that the normal form serialization is done in semantic order with the exception of input elements of type="image". You should only set the semantic option to true if your server has strict semantic requirements and your form contains an input element of type="image".
布尔标志,表示数据是否必须严格按照语义顺序(slower?)来进行提交。注意:一般来说,表单已经按照语义顺序来进行了串行化(或序列化),除了 type="image"的input元素。如果你的服务器有严格的语义要求,以及表单中包含有一个type="image"的input元素,就应该将 semantic设置为true。(译注:这一段由于无法理解,翻译出来可能语不达意,但请达人指正。)
默认值:false

resetForm

布尔标志,表示如果表单提交成功是否进行重置。
Default value: null

clearForm

布尔标志,表示如果表单提交成功是否清除表单数据。
默认值:null

实例:

// 准备好Options对象
var options = {
target:     '#divToUpdate',
url:        'comment.php',
success: function() {
alert('Thanks for your comment!');
} };

// 将options传给ajaxForm
$('#myForm').ajaxForm(options);


注意:Options对象还可以用来将值传递给jQuery的$.ajax方法。如果你熟悉$.ajax所支持的options,你可以利用它们来将Options对象传递给ajaxForm和ajaxSubmit。
基于jQuery Form插件的异步表单提交实战 这是第一个被执行的回调,常用于轻量级验证或拦截非法请求:});if (!alert('用户名至少3个字符');if (!alert('请输入有效邮箱');// 继续提交});参数说明:formData: 数组形式的数据,来自jqForm: 当前表单的jQuery对象options: 配置项副本,可用于动态修改行为返回false即可中断后续流程,避免无效请求浪费服务器资源。success。 阅读详情

相关推荐

jQuery表单插件jquery.form.js(示例源码)

jQuery Form Plugin能够让你简洁的将以HTML形式提交的表单升级成采用AJAX技术提交的表单。 插件里面主要的方法, ajaxForm和ajaxSubmit,能够从form组件里采集信息确定如何处理表单的提交过程。 两个方法都支持众多的可选参数,能够让你对表单里数据的提交做到完全的控制。

jQuery表单库jquery.form.js

本主题是《云客drupal源码分析》的番外篇,在drupal系统中用于支持AJAX API,由于这是一个独立实用的库,因此专门用一个主题介绍 简介: jQuery表单库(jquery.form.js库)以jQuery为基础,用于处理表单AJAX提交,使得表单AJAX提交简单、容易,且能完整控制提交过程和处理结果,不需要任何特殊标签辅助,不影响原表单结构,只要使用该库就能使普通表单平滑升级...

云客的技术博客【云游天下 做客四方】 1万+

convForm:一个jQuery插件,可将表单转换为交互式聊天

convForm:一个jQuery插件,可将表单转换为交互式聊天

jQuery.form.js详细用法

记录我jquery from的学习笔记,也是借鉴了好几个人的博客,在此谢过,并补充一些没有提到的内容:借鉴博客:http://www.jb51.net/article/75692.htm                 https://www.cnblogs.com/hgmyz/p/6708512.html相关js:jquery-3.3.1.min.js  : http://jquery.com/...

m0_37505854的博客 5万+

jquery.form.js下载

jquery.form.js jquery.form.js

GEO优化内容营销策略:从规划到落地的全流程指南

GEO内容营销是通过地域化内容提升本地搜索排名、增加流量和转化率的策略。核心包括:构建本地用户画像,挖掘需求关键词;策划本地文化融合、案例研究等多样化内容;通过网站、社交媒体、本地KOL等渠道精准分发;优化本地关键词和视觉元素;监测数据并动态调整。案例显示,咖啡馆、工业企业和服装品牌通过本地化短视频、KOL合作及社群运营,显著提升了搜索排名、客流量和销售额。关键原则是内容本地化、精准分发、KOL合作、激励用户生成内容及数据驱动优化,实现高效本地市场渗透。

解锁AI流量新红利!🚀 GEO优化(生成引擎优化)助您掌控AI搜索,让AI成为您的品牌最佳代言人! 1331

ajax实现无刷新提交,【jQuery】将form表单通过ajax实现无刷新提交

//将form转换为AJAX提交function ajaxSubmit(url,frm,fn){var dataPara=getFormJson(frm);$.ajax({url:url,type:"post",data:dataPara,async:false,dataType:'txt',success:fn});}//将form中的值转换为键值对function getFormJson(fr...

weixin_42402664的博客 656

Xilinx实战-深入AXI UART Lite IP核的配置与调试

本文详细介绍了Xilinx FPGA中AXI UART Lite IP核的配置与调试方法,包括Vivado环境下的IP核设置、关键参数优化、寄存器操作及常见问题排查。通过实战案例和代码示例,帮助开发者快速掌握AXI接口的串口通信技术,提升嵌入式系统开发效率。

weixin_29189377的博客 228

jquery form 异步上传文件表单遇到的问题

先描述下载项目中遇到的问题,在使用jquery form异步上传文件的时候,即使在struts返回视图配置文件中写上type="json",页面中接收到的内容也不会是真正的json字符串,我遇到的是在json串外侧还包了一层html标签&lt;pre/&gt;以至于js回调函数不能正确的解析struts端返回的json数据。 经过各种搜,有前辈也遇到过类似的情况,就此记录下来,以便自己今后查找...

砌砖工 257

TSC条码打印机C#例程(tsclib.dll调用) 【转】

//----program.cs using System;using System.Collections.Generic;using System.Windows.Forms; using System.Runtime.InteropServices;public class TSCLIB_DLL{[DllImport("TSCLIB.dll", EntryPoint = "abou...

weixin_33843947的博客 2443

从零搭建ROS机械臂仿真环境:Ubuntu 20.04+Noetic下配置睿尔曼RM65的完整流程

本文详细介绍了在Ubuntu 20.04系统中,基于ROS Noetic搭建睿尔曼RM65机械臂的完整仿真环境。从环境准备、工作空间创建到MoveIt!配置与Gazebo仿真环境集成,提供了完整的流程和优化建议,帮助开发者高效实现机械臂仿真与调试。

v6b7n8m9q0的博客 934

Jquery Form + Struts2 异步上传文件

// 作为ajaxSubmit pre-submit callback函数 var validateForm = function(formData, jqForm, options) { //var queryString = $.param(formData); //alert('About to submit: \n\n' + queryString);

506

白话机器学习算法理论+实战番外篇之Xgboost

1. 写在前面 如果想从事数据挖掘或者机器学习的工作,掌握常用的机器学习算法是非常有必要的,在这简单的先捋一捋, 常见的机器学习算法: 监督学习算法:逻辑回归,线性回归,决策树,朴素贝叶斯,K近邻,支持向量机,集成算法Adaboost等 无监督算法:聚类,降维,关联规则, PageRank等 我前面已经尝试用最白话的语言完成了一个白话机器学习算法理论+实战系列,这个系列已经基本包含了上面这些算...

Miracle8070 1万+

struts2 + ajax(由前台的form提交数据到后台,再根据form所调用返回获取的后台json格式的数据返回到前端,然后前端用jquery对json数据进行解析)==》》涉及非文件上传的部分...

struts2 + ajax(由前台的form提交数据到后台,再根据form所调用返回获取的后台json格式的数据返回到前端,然后前端用jquery对json数据进行解析)==》》涉及非文件上传的部分 struts2 + ajax + form 表单提交的处理,如果不是文件上传的部分,就可以直接用ajax来实现,而不是像之前用iframe来仿a...

weixin_30906701的博客 145

Openclaw第3章:进阶部署

本章面向需要在特定环境中稳定运行 OpenClaw 的用户,介绍 Windows、Linux、Docker 以及 Cloudflare Workers 四种进阶部署方式。每种方式各有侧重:Windows 部署适合桌面用户日常使用,Linux 部署适合开发者,Docker 部署适合追求环境隔离的运维场景,Cloudflare Workers 部署则适合希望获得全球边缘网络加速的用户。读者可根据自身环境和需求选择合适的方案,完成本章后可继续阅读第4章了解维护升级流程。

Maynor的博客 1295

Codex 团队如何用自己的产品构建产品——整个 Spec 只有 10 个要点

OpenAI Codex团队采用极简产品开发模式,整个产品规格仅10个要点。团队50-100人长期仅1名PM,设计师代码量已超过工程师。产品负责人Alexander Embiricos透露,团队几乎不写详细文档,仅在需要协调时写简短要点。OpenAI采用独特规划哲学:只做8周内短期或长期方向性规划,拒绝中期路线图。2025年GPT-5.2 Codex发布后,模型能力突破催生了桌面应用开发。团队强调"让离代码最近的人做决策",PM角色转变为"填空者",设计师与工程师界限

350

Struts2+ajax+json异步上传图片回显

我们在一个包括很多文本框和上传图片的表单中,为了更好的用户体验需要把点击上传后的图片在提交表单中显示出来,有以下几个方案 1.  点击上传后获得图片的本地路径,之后显示在网页上,这种方式行不通,因为很多浏览器为了安全性无法获得本地路径。 2.  先把图片异步上传到服务器然后利用回调函数回显图片,由于ajax是不支持带有图片上传的表单提交的,所以我们需要用一些插件,我们的选择有jquery.fo

佑曦 2448

Linux 命令行的艺术

Linux 命令行的艺术前言基础日常使用文件及数据处理系统调试单行脚本冷门但有用仅限 OS X 系统仅限 Windows 系统更多资源免责声明熟练使用命令行是一种常常被忽视,或被认为难以掌握的技能,但实际上,它会提高你作为工程师的灵活性以及生产力。本文是一份我在 Linux 上工作时,发现的一些命令行使用技巧的摘要。有些技巧非常基础,而另一些则相当复杂,甚至晦涩难懂。这篇文章并不长,但当你能够熟练...

AI天才研究院 9284

使用JQuery.js & JQuery.form.js 插件完成对StrutsAction的异步请求,返回JSON数据

先说哈自己遇到的相当纠结的问题:  1. 本来使用jquery插件里面的$.getJSON 可以请求得到Action的数据,但是当传递参数给Action的时候,也得到了JSON的数据对象,但愣是不执行回调函数解析JSON数据,搞了一天也没搞好! 2. 后来使用$('#formID').submit( function() { $.ajax({ url: ........ .....

到西伯利亚浪 783

STM32F407中文手册

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

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

ajaxfileupload.js、struts2、ajax、json异步上传图片

注意:记得导入struts的jar包、json使用的jar包 1、网上下载ajaxfileupload.js,如果使用json,记得修改 将【eval( “data = ” + data );】 修改为:【data = jQuery.parseJSON(jQuery(data).text());】 2、jsp页面 引入js文件:<script type="text/ja

doudou_demo的专栏 2224

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

ajax使用jquery提交或者ajaxanywhere2种提交方式的取得数据的方法

最近这段时间在学习用ajax刷新页面,分别学习了用jquery和ajaxanywhere去异步提交,接收处理数据.下面来记录一下: 一。 使用jquery进行提交数据的方式: var params = {}; $.post(url,params,function(data)){ //data数据就是你从action返回的数据. }); 如果使用json其中的一种传值方式,就底下提到的

u011182779的博客 623

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

jquery formValidate demo 采用struts 异步方式检验用户名是否存在

jquery formValidate demo 采用struts 异步方式检验用户名是否存在 1 login.jsp %26nbsp; %26lt;%@taglib uri="/struts-tags" prefix="s"%%26gt; %26lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 4.0 Transitional//EN"

逗比yilong 363

struts1+ajax+jquery上传文件

项目里上传文件,都是常规form表单提交,本次有个需求需要上传,想着还是用ajax上传,用户使用起来比较好看,等待时间较短,网上查了资料,发现能够现成使用的较少,分析一下: 展现jsp: 引入文件: /js/jquery-1.7.1.min.js /js/ajaxfileupload.js $(document).ready(function(){ $("#bi

zhangnana200的博客 2677

jquery ajax

   大家都知道前台对于页面一些效果,验证等,我们都是通过JavaScript语言进行完成,但是它也就像我们的Java代码一样,是最前台语言最基础的,而jQuery则是对js代码进行封装方便我们前台代码的编写,而且它还有一个非常大的优势就是解决了浏览器的兼容问题,这也是我们使用它非常重要的原因之一。 而现在为了满足用户的需求,Ajax(Asynchronous J...

baimanmu3398的博客 104

Struts2题库

1.在正规开发中,在使用struts2时定义Action需要继承__ActionSupport__类或者实现__Action___接口2. Spring的核心技术由__AOP__和__IOC__组成3. Struts2的机制默认只会调用Action类的__execute__方法4. 用于读取资源文件,实现国际化的Struts2的标签_&lt;s:text&gt;_5. Jquery是用 appen...

Super_XL的博客 1704

jQuery Ajax 和 Struts2 渲染机制对比. 性能 取舍

本来 ajax 与 struts2 并没有什么冲突,但在页面的渲染方面,作为开发者来说,还是有的选择的。下面各来看一下它们的工作情况: 1. Ajax 方面,由于大量的开发包,使得浏览器端的 DOM 变化莫测,并没有什么一定之规。 (1)     用 Ajax 对数据进行渲染。 由 DWR 之类,或 servlet 或 struts2 的 JSON 插件,向浏览器端提供数据的 JSON

  ~8挑、Mm的专栏 2609
上一篇: MyBatis的动态SQL详解
下一篇: Spring MVC的多视图解析器配置及与Freemarker的集成
努力突破
博客等级 码龄17年 36粉丝 113原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值