jQuery教程(19)-jquery ajax操作之序列化表单
来源:互联网 发布:sai绘图软件mac版 编辑:程序博客网 时间:2024/04/30 11:07
jQuery教程(19)-jquery ajax操作之序列化表单
文章标签: jquery-ajax,jquery
2015-1-15 13:18:23 159人阅读
序列化表单
向服务器发送数据经常会涉及用户填写表单。常规的表单提交机制会在整个浏览器窗口中加 载响应,而使用jQueiy的Ajax工具箱则能够异步地提交表单,并将响应放到当前页面中。
为了试验,需要构建一个简单的表单:
<div class="letter" id="letter-f"><h3>F</h3><form action="f.php"><input type="text" name="term" value="" id="term" /><input type="submit" name="search" value="search" id="search" /></form></div>
这一次,需要把提供的搜索词语作为字典中词条的子字符串来搜索,并从PHP脚本中返回一 组词条。我们将使用e.php中的build_entry()函数返回与前面相同的数据结构,但在f.php中稍 微修改一下相应的逻辑:
<?php$output = array();foreach ($entries as $term => $entry) {if (strpos($term, strtoupper($_REQUEST[,term'])) !== FALSE) {$output[] = build_entry($term, $entry);}}if (!empty($output)) {echo implode("\n", $output);} else {echo '<div class="entry">Sorry, no entries found for '; echo '<strong>' . $_REQUEST['term'] . '</strong>.';echo '</div>';}?>
其中,调用的strpos()函数会扫描与提供的搜索字符串匹配的单词。接下来,我们可以通 过遍历DOM树来响应表单提交并构造适当的查询字符串,如代码清单6-13所示。
代码清单6-13
$(document).ready(function() {$('#letter-f form').submit(function(event) { event.preventDefault();$.get('f.php', {'term': $('input[name="term"]').val()}, function(data) {$('#dictionary').html(data);});});});
虽然以上代码能够实现预期的效果,但通过名称属性逐个搜索输人字段并将字段的值添加到 对象中总是有点麻烦。特别是随着表单变得更复杂,这种方法也会明显变得缺乏扩展性。好在, jQuery为这种常用的操作提供了一种简化方式——.serialize()方法。这个方法作用于一个 jQuery对象,将匹配的DOM元素转换成能够随Ajax请求传递的查询字符串。通过使 用.serialized方法,可以把前面的提交处理程序一般化为如代码清单6-14所示。
代码清单6-14
$(document).ready(function() {$('#letter-f form').submit(function(event) { event.preventDefault(); var formValues = $(this).serialize();$.get('f.php', formValues, function(data) {$('#dictionary').html(data);});});});
这样,即使在增加表单中字段的情况下,同样的脚本仍然能够用于提交表单。例如,如果我 们搜索“fid”就会出现包含这个子字符串的词条,如图6-10所示。
图 6-10
0 0
- jQuery教程(19)-jquery ajax操作之序列化表单
- Jquery ajax序列化表单
- jQuery序列化Ajax提交表单
- jquery序列化表单并ajax提交
- jQuery--9.$.ajax(),表单序列化,formdata
- JS-jquery ajax序列化表单多选框传值
- jQuery ajax 中级(getScript() ; getJSON() ;ajax; 表单序列化)
- jquery表单序列化
- jquery表单序列化
- jQuery的ajax学习(一)表单序列化
- jQuery的ajax学习(一)表单序列化
- JQuery之Ajax操作
- jquery序列化form表单对象教程网址
- jQuery.ajax $.post $.load 序列化表单(ajax提交表单,post传递参数,序列化表单)
- [JQuery]自定义表单序列化
- jquery 序列化from表单
- jquery序列化表单数据
- Jquery表单序列化相关
- IP地址判断有效性
- ssh登录很慢
- 枚举单例
- vim制作成IDE
- Java NIO原理和使用
- jQuery教程(19)-jquery ajax操作之序列化表单
- [易飞]包材Forcast四周滚动需求
- 常见的服务器
- Xcode因为证书问题经常报的那些错
- equals与==的区别
- JAVA-IO之File类
- BIOS启动报警声全集
- 敏捷开发之Scrum扫盲篇
- 提高mysql千万级大数据SQL查询优化30条经验(Mysql索引优化注意)