`
东边日出西边雨
  • 浏览: 262702 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

用jQuery实现表单数据异步提交

阅读更多

    传统的form表单如下所示:

<form name="input" action="recv.cgi" method="post">
Username: 
<input type="text" name="user" />
<input type="submit" value="Submit" />
</form>

    上面代码可以放到下面网页上,查看效果。

 

                          http://www.w3school.com.cn/tiy/t.asp?f=html_basic

 

    当用户点击"submit"后,会引起页面的重定向,有些网页比较大,会刷新很长时间,而用户原本的意思只是提交数据,并不需要刷新页面。这会极大降低用户体验。

 

    jQuery这个东西很不错,它可以实现表单数据的异步提交,而不需要刷新网页。下面一段代码作为一个例子。

<html>
<head>
<style type="text/css">
<!--
form{
	margin:0px; padding:0px;
	font-family:Arial,Helvetica, sans-serif;
	font-size;12px;
}
input, select{
	font-family:Arial, Helvetica, sans-serif;
	font-size;12px;
}
table{
	border:1px solid #00328f;
	border-collapse;collapse;
	background-color:#d4e3ff;
}
table td{
	border:1px solid #00328f;
	padding:4px 6px 4px 6px;
}
input[type=text], input[type=password], input[type=submit], input{type=button}, input[type=reset], textarea, select{
	border:1px solid #00328f;
}
-->
</style>
</head>

<body>
<form id="myForm" name="myForm">
<table cellspacing="0" id="formTable">
<input type="hidden" name="Hidden" value="secret">
<tr><td>用户</td><td><input name="Name" type="text"></td></tr>
<tr><td>密码</td><td><input name="Password" type="password"></td></tr>
<tr><td>性别</td>
<td><label><input type="radio" name="Radio" value="male">男</label>
<label><input type="radio" name="Radio" value="female">女</label>
</tr>
<tr><td>多选</td><td>
<select name="Multiple" multiple="multiple">
	<option>One</option>
	<option>Two</option>
	<option>Three</option>
</select>
</td></tr>
<tr><td>单选</td><td>
<select name="Single">
	<option>One</option>
	<option>Two</option>
	<option>Three</option>
</select>
</td></tr>
<tr><td>爱好</td>
<td><label><input type="checkbox" name="Check" value="roaming">逛街</label>
<label><input type="checkbox" name="Check" value="balls">打球</label>
<label><input type="checkbox" name="Check" value="balls">看电视</label>
<tr><td>收入</td>
<td><label><input type="checkbox" name="Check2" value="below5K">5000以下(不含)</label>
<label><input type="checkbox" name="Check2" value="above5K">大于5000</label></td>
</tr>
<tr><td>留言</td><td><textarea name="Text" rows="2" cols="20"></textarea></td></tr>
<tr><td colspan="2" align="center"><input type="submit" name="sub" value="Submit">
<input type="reset" name="resetButton" value="Reset">
<input type="button" name="btn" value="FieldValue" onclick="checkFieldValue()"></td></tr>
</table>
</form>
</body>
</html>
 

 

现在的表单只是一个普通的表单,关键在后面,请看:

我要在<head></head>之间加入一段代码

<script language="javascript" src="jquery.min.js"></script>
<script language="javascript" src="jquery.form.js"></script>
<script language="javascript">
function checkFieldValue(){
        var aFieldValue = $("#myForm *").fieldValue();
        //获取整个表单有用元素的值
        alert(aFieldValue.join());
}
</script>
 

 

这样再点击FieldValue按钮时,就变成了异步提交,在checkFieldValue()函数里,用alert()让页面弹出一个窗口,上面带有提交的数据。这就证明了已经成功异步提交数据。

 

    但是给服务器传递数据时,要注意数据提交的格式,post方式提交的数据应该是类似于”name=xxx&value=xxx&password=xxx“的字符串,上面异步提交的数据不是这种,那么我们就可以换一个函数

function checkFormSerialize(){
        var aQuery = $("#myForm").formSerialize();
        //将整个表单的有用值格式化
        alert(sQuery);
        //后面可以接Ajax语句,用于给服务器传输数据
        //$.post(url,sQuery);
}
 

将上面的checkFieldValue()换成checkFormSerialize()就ok,此后提交的数据就是格式化好的数据,”name=xxx&value=xxx&password=xxx“,就是这种的。如果提交的数据是给服务器,那么就用$.post(url,sQuery);url为要提交给服务器的指定文件,比如url为http://192.168.6.20/cgi-bin/xxx.cgi.

分享到:
评论

相关推荐

    使用jQuery.form插件,实现完美的表单异步提交

    本文将详细介绍如何使用jQuery.form插件,实现完美的表单异步提交。 首先,我们需要了解jQuery.form插件的基本用法。在开始之前,请确保已经在项目中引入了jQuery库以及jQuery.form插件。通常,这两个文件可以通过...

    Jquery实现表单异步提交.zip

    本项目以"Jquery实现表单异步提交"为主题,通过一个名为"ajaxJquerySubmit"的示例,详细展示了如何在Java Web环境中运用jQuery来实现这一功能。 首先,jQuery是一个强大的JavaScript库,它简化了DOM操作、事件处理...

    jquery-form 异步提交表单

    jQuery Form插件是基于jQuery的一个强大工具,它可以轻松地将任何HTML表单转换为异步提交,实现无刷新的数据交换。这个插件的核心功能是通过Ajax技术发送表单数据,无需离开当前页面,提高了用户的交互性。 ### ...

    jquery异步提交form表单

    对于开发人员来说,理解`jquery.form.js`的源码可以帮助深入掌握异步表单提交的原理和实现细节。通过查看源码,我们可以看到如何处理表单数据的序列化、如何监听和触发事件,以及如何与服务器进行通信。这对于我们...

    jquery实现弹窗表单填写提交

    本资源重点展示了如何利用jQuery来实现弹窗表单的填写和提交功能,这对于用户交互和数据收集至关重要。下面将详细阐述这个过程中的关键知识点。 首先,jQuery弹窗通常通过两种方式实现:一种是使用插件,如jQuery ...

    利用Ajax+Jquery实现异步进度条效果

    "利用Ajax+Jquery实现异步进度条效果"这个主题正是围绕这一目标展开,它涉及到C#后端开发、.NET框架、Ajax技术以及Jquery库的前端应用。下面将详细阐述这些知识点。 首先,C#是一种面向对象的编程语言,广泛应用于...

    使用JQuery实现从JSON对象转换为form提交数据

    本篇文章将深入探讨如何利用jQuery从JSON对象转换为form提交数据。 首先,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于JavaScript的一个子集,易于人阅读和编写,同时也易于机器解析和...

    jquery-form 表单数据异步上传,文件上传

    表单异步上传,表单中可以支持文件和数据异步上传,

    jquery下异步提交表单 异步跨域提交表单

    在使用jQuery处理表单提交时,异步提交和跨域提交是常见的需求,本篇文章将详细介绍如何利用jQuery实现这两种表单提交方式。 ### jQuery下异步提交表单 异步提交表单指的是在不刷新页面的情况下,通过JavaScript...

    asp.net mvc3 表单提交和异步提交

    在这个框架中,表单提交和异步提交是两种重要的用户交互方式。本文将深入探讨这两种方法及其在实际开发中的应用。 首先,我们来看传统的表单提交。在ASP.NET MVC3中,表单提交是基于HTTP协议的POST或GET请求。当你...

    jquery 实现异步提交文件组件(含说明)

    在本教程中,我们将深入探讨如何利用jQuery实现异步提交文件的组件,这将帮助开发者提高用户体验,因为异步提交允许在不刷新整个页面的情况下进行文件上传。 首先,理解异步提交的基本概念至关重要。传统的文件上传...

    异步提交 表格异步提交

    这种技术允许用户在不刷新整个页面的情况下提交数据,从而实现页面的动态更新。这里我们将详细探讨异步提交的核心概念、工作原理以及如何使用Ajax进行表单异步提交。 ### 1. 异步提交简介 异步提交是基于HTTP的...

    JQuery实现表单验证

    对于表单验证,JQuery可以帮助我们快速响应用户的输入,实时检查数据的有效性,无需等待表单提交。 表单验证通常包括以下几种类型:非空验证、长度验证、格式验证(如邮箱、电话号码)、唯一性验证等。在"JQuery...

    jQuery用户注册表单验证代码

    在jQuery中,我们可以使用`.on('submit', function() {...})`监听表单提交事件。当用户尝试提交表单时,这个函数会被触发。 接着,我们需要逐个验证表单字段。例如,检查用户名是否为空,可以使用`.val()`获取输入...

    异步 提交表单请求

    在Java开发中,异步提交表单请求是一种常见的前端与后端交互方式,它通过Ajax技术实现,使得用户无需等待整个页面刷新即可完成数据的提交和获取,提升了用户体验。Ajax,全称Asynchronous JavaScript and XML(异步...

    Ajax使用jQuery提交表单 文件

    在这个“Ajax使用jQuery提交表单 文件”中,我们将探讨如何利用jQuery实现Ajax提交表单,从而实现异步数据传输,提高用户体验。 首先,我们需要理解jQuery中的Ajax函数`$.ajax()`。这是一个核心函数,可以进行各种...

    Jquery让form表单异步提交代码实现

    最后,将上述代码整合,完整的jQuery表单异步提交实现如下: ```javascript $("form").submit(function(e) { e.preventDefault(); let data = $("form").serialize(); $.ajax({ url: "xxx" + "?" + data, ...

    jQuery异步提交表单

    jQuery异步提交表单 gailan.apply(gailan, { selectPostFrom:function(){ var data = jQuery("#frmAppendix").formSerialize(); jQuery.ajax({ type:"POST", url:"./selectSubmit.jsp", data:data, success:...

    使用jQuery实现异步操作(包括异步提及form表单)Meet520.doc

    本文将深入讲解如何使用jQuery实现异步操作,包括异步提交表单。 首先,异步操作的基础是AJAX(Asynchronous JavaScript and XML),虽然现在XML不常用,但概念仍然适用。在jQuery中,我们可以使用`$.getJSON()`...

    jquery异步提交例子

    本文将深入探讨jQuery异步提交的概念、用途及其在实际项目中的应用,特别是结合Servlet进行数据交互。 首先,异步提交是Web开发中的重要技术,它允许页面在不刷新的情况下与服务器进行数据交换,提高了用户体验。...

Global site tag (gtag.js) - Google Analytics