首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Ajax >

jQuery获取表单项目以及AJAX使用

2012-09-09 
jQuery获取表单项目以及AJAX应用转载自:http://www.tsingfeng.com/?p251.假如我们有如下页面input?type

jQuery获取表单项目以及AJAX应用

转载自:http://www.tsingfeng.com/?p=25

1.假如我们有如下页面

  1. <input?type="text"?name="textname"?id="text_id"?value="">? ??
  2. <!--其余的请自行添加.重要的是要有TYPE.NAME.ID等,一般情况这些都是有的-->

2.下面来看怎么取得FORM中的各种值等等;

  1. function?get_form_value(){? ??
  2. /*获得TEXT.AREATEXT的值*/? ??
  3. ? ???var?textval?= $("#text_id").attr("value");//或者? ??
  4. ? ???var?textval?= $("#text_id").val();? ??
  5. /*获取单选按钮的值*/? ??
  6. ? ???var?valradio?= $("input[@type=radio][@checked]").val();? ??
  7. /*获取复选框的值*/? ??
  8. ? ??var?checkboxval?= $("#checkbox_id").attr("value");? ??
  9. /*获取下拉列表的值*/? ??
  10. ? ???var?selectval?= $('#select_id').val();? ??
  11. }

3.另外对表单的其他处理:

  1. //控制表单元素:? ??
  2. //文本框,文本区域:? ??
  3. $("#text_id").attr("value",'');//清空内容? ??
  4. $("#text_id").attr("value",'test');//填充内容? ??
  5. //多选框checkbox:? ??
  6. $("#chk_id").attr("checked",'');//未选中的值? ??
  7. $("#chk_id").attr("checked",true);//选中的值? ??
  8. if($("#chk_id").attr('checked')==undefined)?//判断是否已经选中? ??
  9. //单选组radio:? ??
  10. $("input[@type=radio]").attr("checked",'10');//设置value=10的单选按钮为当前选中项? ??
  11. //下拉框select:? ??
  12. $("#select_id").attr("value",'test');//设置value=test的项目为当前选中项? ??
  13. $("<option value='test'>test</option><option value='test2'>test2</option>").appendTo("#select_id")//添加下拉框的option? ??
  14. $("#select_id").empty();//清空下拉框

4.jQuery的AJAX应用

Xhtml文件如下:

  1. <div?id="result"?style="backgroundrange;border:1px solid red;width:300px;height:400px;"></div>??
  2. <form?id="formtest"?action=""?method="post">??
  3. <p><span>输入姓名:</span><input?type="text"?name="username"?id="input1"?/></p>??
  4. <p><span>输入年龄:</span><input?type="text"?name="age"?id="input2"?/></p>??
  5. <p><span>输入性别:</span><input?type="text"?name="sex"?id="input3"?/></p>??
  6. <p><span>输入工作:</span><input?type="text"?name="job"?id="input4"?/></p>??
  7. </form>??
  8. <button?id="send_ajax">提交</button>??
  9. <button?id="test_post">POST提交</button>??
  10. <button?id="test_get">GET提交</button>

接着引入jQuery

  1. <script??type="text/javascript"?src="../jquery.js"></script>

再接着构建AJAX,jQuery有个好处,不需要在XHTML中夹杂着JS代码来触发事件了,可以直接封装在JS文件中

  1. <script?type="text/javascript">? ?
  2. //$.ajax()方式? ?
  3. $(document).ready(function?(){? ?
  4. ?? $('#send_ajax').click(function?(){?//直接把onclick事件写在了JS中,而不需要混在XHTML中了? ?
  5. ? ? ? ? ??var?params=$('input').serialize();?//序列化表单的值,与prototype中的form.serialize()相同? ?
  6. ? ? ? ?? $.ajax({? ?
  7. ? ? ? ? ? ? ???url?:'ajax_test.php',??//后台处理程序? ?
  8. ? ? ? ? ? ? ???type:'post',? ??//数据发送方式? ?
  9. ? ? ? ? ? ???dataType:'json',??//接受数据格式? ?
  10. ? ? ? ? ? ? ???data:params,??//要传递的数据? ?
  11. ? ? ? ? ? ? ???success:update_page??//回传函数(这里是函数名)? ?
  12. ? ? ? ? ? ? ???});? ?
  13. ? ? ? ??});? ?
  14. });? ?
  15. function?update_page?(json)?{?//回传函数实体,参数为XMLhttpRequest.responseText? ?
  16. ? ? ???var?str="姓名:"+json.username+"";? ?
  17. ? ? ???str+="年龄:"+json.age+"";? ?
  18. ? ? ???str+="性别:"+json.sex+"";? ?
  19. ? ? ???str+="工作:"+json.job;? ?
  20. ? ? ?? $("#result").html(str);? ?
  21. }? ?
  22. //$.post()方式:? ?
  23. $(function?(){//$(document).ready(function (){ 的简写? ?
  24. ? ? ? $('#test_post').click(function?(){? ?
  25. ? ? ? ? ? ? ? ? $.post('ajax_test.php',? ?
  26. ? ? ? ? ? ? ??{username('#input1').val(),age('#input2').val(),sex('#input3').val(),job('#input4').val()},? ?
  27. ? ? ? ? ? ? ? ??function?(data){?//回传函数? ?
  28. ? ? ? ? ? ? ? ??var?myjson='';? ?
  29. ? ? ? ? ? ? ???eval('myjson='+data+';');? ?
  30. ? ? ? ? ? ? ?? $('#result').html("姓名:"+myjson.username+"??
  31. 工作:"+myjson['job']);? ?
  32. ? ? ? ? ? ? ???});? ?
  33. ? ? ???});? ?
  34. });? ?
  35. //$.get()方式:? ?
  36. $(function?(){? ?
  37. ? ? ? ?? $('#test_get').click(function?(){? ?
  38. ? ? ? ? ? ? ? ? ? ?? $.get('ajax_test.php',? ?
  39. ? ? ? ? ? ? ? ? ? ??{username("#input1").val(),age("#input2").val(),sex("#input3").val(),job("#input4").val()},? ?
  40. ? ? ? ? ? ? ? ? ? ???function??(data)?{? ?
  41. ? ? ? ? ? ? ? ? ? ? ? ? ???var?myjson='';? ?
  42. ? ? ? ? ? ? ? ? ? ? ? ? ???eval("myjson="+data+";");? ?
  43. ? ? ? ? ? ? ? ? ? ? ? ? ?? $("#result").html(myjson.job);? ?
  44. ? ? ? ? ? ? ? ? ? ? ??});? ?
  45. ? ? ? ? ???});? ?
  46. });? ?
  47. </script>

后段的php处理代码如下:

  1. <?php? ?
  2. $arr = $_POST;?//若以$.get()方式发送数据,则要改成$_GET.或者干脆_REQUEST? ?
  3. $myjson=json_encode($arr);? ??
  4. echo?$myjson;? ?
  5. ?>

热点排行