jQuery获取表单各元素的值及其AJAX应用(转载)

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

 

接着引入jQuery

JavaScript代码

 

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

 

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

JavaScript代码

 

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

 

后端php部分如下

PHP代码

 

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

 

转自:

 

http://home.phpchina.com/space.php?uid=28012&do=blog&id=69448

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值