jQuery获取表单各元素的值及其AJAX应用

来源:互联网 发布:广数g76螺纹编程实例 编辑:程序博客网 时间:2024/05/29 16:57

http://hi.baidu.com/jsdoudou/item/c44af08657625fc8ee083d66


1.假如我们有如下页面

XML/HTML代码

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

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

JavaScript代码

  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.另外对表单的其他处理:

JavaScript代码

  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文件如下:

XML/HTML代码

  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

JavaScript代码

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

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

JavaScript代码

  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部分如下

PHP代码

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