表单插件——jquery.form.js

server/2024/11/14 14:38:58/

表单插件——jquery.form.js

表单插件(Form Plugin)

下载地址
:http://plugins.jquery.com/form/

文件名:jquery.form.js

version: 3.50.0-2014.02.05(最新版本)

功能:提供表单数据、重置表单项目、使用Ajax提交数据等

获取表单数据:

对于表单而言,最重要的功能莫过于获取用户填写的数据。在表单中可以通过fieldValue()直接获取表单的值;

该方法返回表单中所有"有用元素"的值组成的数组;

fieldValue()方法还可以接受一个布尔值作为参数,

false值将获取表单中所有的元素的值,而不仅仅是"有用元素"的值,还包括未选中元素(如radio:male和female都包括),

默认值true,仅包括有用元素;

var aFieldValue = $("#myForm *").fieldValue() //ID选择符后必须带*
var aFieldValue = $("#myForm :radio").fieldValue()
var aFieldValue = $(":radio").fieldValue()
var aFieldValue = $("input").fieldValue()
var aFieldValue = $(":input").fieldValue() //:input过滤选择器包括<input>、<select>、<textarea>、<button>
var aFieldValue = $("#myForm :radio").fieldValue(false)

实例:

<script language="javascript" src="jquery.min.js"></script>
<script language="javascript" src="jquery.form.js"></script>
<script language="javascript">
function checkFiledValue(){
var aFieldValue = $("#myForm *").fieldValue(); //ID选择符后面必须要有*或过滤选择器,否则出错
//获取整个表单有用元素的值
alert(aFieldValue.join());
}
</script>

使用方法:

<input type="button" name="btn" value="FieldValue" onclick="checkFiledValue()">

另外fieldValue()方法也可以通过过滤选择器获取指定元素的值,例如

var aFieldValue = $("#myForm :radio").fieldValue();

注意:#myForm与:radio要有空格,否则不能读取

格式化表单数据:

对于Ajax异步传输而言,往往需要将传送的数据进行固定的格式化处理;如果采用javascript语句则需要遍历所有元素并获取它们的值。

表单插件提供了两个非常实用的格式化函数formSerialize()和fieldSerialize(),分别用于整个表单数据的格式化和特定元素数据的格式。

formSerialize()使用方法:

var data = $("#myForm").formSerialize(); //只能是表单ID选择符

实例:

<script language="javascript" src="jquery.min.js"></script>
<script language="javascript" src="jquery.form.js"></script>
<script language="javascript">
function checkFormSerialize(){
var sQuery = $("#myForm").formSerialize();
//将表单中的有用值格式化
alert(sQuery); //显示格式: Radio=male&Radio=female
//后面可以接Ajax语句
//$.get(url,sQuery)
}
</script>

使用方法:

<input type="button" name="btn" value="FormSerialize" onclick="checkFormSerialize()">

同样,fieldSerialize()用于表单个别元素的格式化处理,语法与formSerialize()十分类似;

参数true和false与fieldValue()的参数含义一致;

fieldSerialize()使用方法:

var data = $("input").fieldSerialize();
var data = $(":radio").fieldSerialize();
var date = $("#myForm").fieldSerialize() ID选择符后面不能有*和类选择器,带*经过测试会出错
var data = $("#myForm :checkbox").fieldSerialize(); //Id选择符后,必须是过滤选择器
var data = $("#myForm :checkbox").fieldSerialize(false);
var data = $(":input").fieldSerialize(); //:input过滤选择器包括<input>、<select>、<textarea>、<button>

清除和重置表单数据

在HTML代码中可以通过reset来重置表单中的数据,但是它没有清除所有数据的功能。重置和清除的区别在于重置是将表单中元素的值设置为默认值。

<script language="javascript" src="jquery.min.js"></script>
<script language="javascript" src="jquery.form.js"></script>
<script language="javascript">
$(function(){
$("input[type=button]:eq(0)").click(function(){
$("#myForm").clearForm();
});
$("input[type=button]:eq(1)").click(function(){
$("#myForm").resetForm();
});
});
</script>

HTML代码:

<input type="button" name="Clear" value="Clear">
<input type="button" name="Reset" value="Reset">

按Ajax方式提交表单

表单框架还提供了ajaxSumbit()按照Ajax的方式直接提交表单;ajaxSubmit(options),其中参数options与$.ajax(options)的参数相同

实例:

<script language="javascript" src="jquery.min.js"></script>
<script language="javascript" src="jquery.form.js"></script>
<script language="javascript">
$(function(){
$("input[type=button]:eq(0)").click(function(){
var options = {
target: "#myTargetDiv"
};
//ajax一步上传表单
$("#myForm").ajaxSubmit(options); //等同于$("#myForm").ajaxSubmit({target: "#myTargetDiv"})
});
});
</script>

HTML代码:

<form id="myForm" name="myForm" action="15-4.php">
<table cellspacing="0" id="formTable">
<tr><td>用户</td><td><input name="Name" type="text"></td></tr>
<tr><td>密码</td><td><input name="Password" type="password"></td></tr>
<tr><td colspan="2" align="center"><input type="button" name="ajaxSub" value="AjaxSubmit">
<input type="submit" name="Sub" value="NormalSubmit">
</td></tr>
</table>
</form>
<div id="myTargetDiv"></div>

php脚本

<?php
header('Content-type: text/html;charset=utf-8');
echo $_REQUEST['Name'].":".$_REQUEST['Password'];
?>

除了ajaxSumbit(options)方法外,表单插件还提供了一个ajaxForm(options)方法,该方法通常在页面加载完成时执行,用来将表单统一Ajax化,

并且提交表单依然使用传统的Submit按钮,只不过进行的是Ajax提交;

<script language="javascript" src="jquery.min.js"></script>
<script language="javascript" src="jquery.form.js"></script>
<script language="javascript">
$(function(){
var options = {
target: "#myTargetDiv"
};
//表单的ajax化
$("#myForm").ajaxForm(options);
});
</script>

HTML代码:

<form id="myForm" name="myForm" action="15-4.php">
<table cellspacing="0" id="formTable">
<tr><td>用户</td><td><input name="Name" type="text"></td></tr>
<tr><td>密码</td><td><input name="Password" type="password"></td></tr>
<tr><td colspan="2" align="center"><input type="submit" name="Sub" value="NormalSubmit"></td></tr>
</table>
</form>
<div>fsss gs </div>
<div id="myTargetDiv"></div>

php脚本

<?php
header('Content-type: text/html;charset=utf-8');
echo $_REQUEST['Name'].":".$_REQUEST['Password'];
?>

实例:模拟搜狐热门调查

HTNL代码:

<html>
<head>
<title>模拟搜狐热门调查</title>
<style type="text/css">
<!--
body{
font-family:Arial, Helvetica, sans-serif;
font-size:12px;
}
form{
margin:0px; padding:0px;
}
div{
border:1px solid #004585;
float:left; margin:6px;
background:url(bg2.jpg) repeat-x;
}
#myTargetDiv{
padding:10px; margin:0px;
border:none;
background:none;
}
input.btn{
font-family:Arial, Helvetica, sans-serif;
font-size:12px;
border:1px solid #00328f;
}
p{
margin:0px; padding:3px;
}
p.title{
color:#FFFFFF;
font-weight:bold;
text-align:center;
background:url(bg1.jpg) repeat-x;
padding:5px;
}
ul{
margin:12px; padding:0px;
list-style:none;
}
ul li{
margin:0px; padding:1px;
}
-->
</style>
<script language="javascript" src="jquery.min.js"></script>
<script language="javascript" src="jquery.form.js"></script>
<script language="javascript">
$(function(){
var options = {
//目标为调查内容本身所处的div块
target: "#myTargetDiv"
};
$("input[type=button]").click(function(){
$("#myForm").ajaxSubmit(options);
});
});
</script>
</head>
<body>
<div>
<p class="title">新闻集锦</p>
<ul>
<li>中国队0:3负于乌兹别克斯坦队,亚洲杯小组未出现</li>
<li>中国队1:1逼平泰国队,无言以对</li>
<li>再次遭淘汰,冲出亚洲梦再度破灭</li>
<li>中国队7:0大胜中国香港,依然被淘汰</li>
<li>颜面扫地,踢假球都被淘汰?</li>
<li>国足的未来让人担忧...</li>
</ul>
</div>
<div>
<p class="title">热点调查</p>
<div id="myTargetDiv">
<form id="myForm" name="myForm" action="15-6.php">
<p>你认为中国足球的前景如何?</p>
<p><label><input type="radio" name="Football" value="1">一片光明</label><br>
<label><input type="radio" name="Football" value="2">困难重重</label><br>
<label><input type="radio" name="Football" value="3">前途未卜</label></p>
<p><input type="button" name="Sub" value="提交" class="btn"> <input type="button" name="Sub" value="查看" class="btn"></p>
</form>
</div>
</div>
</body>
</html>

php代码:

<?php
header('Content-type: text/html;charset=utf-8');
$back = "";
$back .= "<p>你认为中国足球的前景如何?</p><p> </p>";
$back .= "<p>一片光明: 5%</p><p>困难重重: 61%</p><p>前途未卜: 34%</p>";
echo $back;
?>

http://www.ppmy.cn/server/12127.html

相关文章

JavaScript判断受访域名,调用不同的js文件

比如&#xff1a;我有三个域名&#xff1a; ① dengoo.net ② jfzm.cc ③ ceeha.com 如果当前访问的是 dengoo.net 域名及域名下页面&#xff0c;则调用 a.js 如果当前访问的是 jfzm.cc 域名及域名下页面&#xff0c;则调用 b.js 如果当前访问的是 ceeha.com 域名及域名下…

鸿蒙OpenHarmony【LED外设控制】 (基于Hi3861开发板)

概述 OpenHarmony WLAN模组基于Hi3861平台提供了丰富的外设操作能力&#xff0c;包含I2C、I2S、ADC、UART、SPI、SDIO、GPIO、PWM、FLASH等。本文介绍如何通过调用OpenHarmony的NDK接口&#xff0c;实现对GPIO控制&#xff0c;达到LED闪烁的效果。其他的IOT外设控制&#xff0…

小球反弹(蓝桥杯)

文章目录 小球反弹【问题描述】答案&#xff1a;1100325199.77解题思路模拟 小球反弹 【问题描述】 有一长方形&#xff0c;长为 343720 单位长度&#xff0c;宽为 233333 单位长度。在其内部左上角顶点有一小球&#xff08;无视其体积&#xff09;&#xff0c;其初速度如图所…

FPV眼镜和VR眼镜的区别,穿越机搭配FPV眼镜优缺点分析

FPV眼镜&#xff0c;即第一人称视角&#xff08;First Person View&#xff09;眼镜&#xff0c;是专为无人机、穿越机、遥控模型等飞行设备设计的头戴式显示器。这种设备能够将飞行设备上的摄像头所捕捉的实时图像传输到眼镜中&#xff0c;让佩戴者仿佛亲自驾驶飞行器一样&…

web测试基础知识

目录 web系统的基础 web概念(worldwideweb) 网络结构 发展 架构 B/S C/S P2P 工作原理 静态页面 动态页面 web客户端技术 浏览器的核心--渲染引擎 web服务器端技术 web服务器 应用服务器 集群环境 数据库 案例-URL 协议类型 主机名 端口 IP地址 分类 …

OceanBase OLAP collation utf8mb4_bin 优先

在大数据系统中&#xff0c;如无特别需要&#xff0c;建议 collation 指定为 utf8mb4_bin。 utf8mb4_bin是一种二进制的排序规则&#xff0c;比较字符串时直接比较字符串的二进制值&#xff0c;不需要进行复杂的字符比较和排序运算&#xff0c;这样可以有效减少CPU的使用&…

【网络编程】TCP流套接字编程(TCP实现回显服务器)

一.TCP流套字节相关API. Socket(既能给客户端使用,也能给服务器使用) 构造方法 基本方法: ServerSocket(只能给服务器使用) 构造方法: 基本方法: 二.TCP实现回显服务器. 客户端代码示例: package Demo2;import java.io.IOException; import java.io.InputStream; import j…

MongoDB数据恢复—拷贝MongoDB数据库文件后无法启动服务的数据恢复案例

服务器数据恢复环境&#xff1a; 一台Windows Server操作系统服务器&#xff0c;服务器上部署MongoDB数据库。 MongoDB数据库故障&检测&#xff1a; 工作人员在未关闭MongoDB数据库服务的情况下&#xff0c;将数据库文件拷贝到其他分区。拷贝完成后将原MongoDB数据库所在分…