jQuery--修改表单数据并提交


目的:

​点击‘编辑’,弹出对话框,修改数据。

主要知识点:

prevAll(),获取同级别本元素前面的所有元素。

代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
<!DOCTYPE html>
< html lang = "en" >
< head >
     < meta charset = "UTF-8" >
     < title ></ title >
     < style >
         .modal{
             position: fixed;
             left:50%;
             top: 50%;
             width: 400px;
             height: 300px;
             background-color: #DDDDDD;
             margin-left: -200px;
             margin-top: -150px;
         }
         .hide{
             display: none;
         }
     </ style >
</ head >
< body >
     < table border = "1" >
         < thead ></ thead >
         < tbody >
             < tr >
                 < td >h1</ td >
                 < td >192.168.1.1</ td >
                 < td >111</ td >
                 < td onclick = "GetPrev(this)" >编辑</ td >
             </ tr >
         <!--1.弹出框-->
         <!--2.取出表格数据-->
         <!--3.将数据填充到弹出框-->
             < tr >
                 < td >h2</ td >
                 < td >192.168.1.2</ td >
                 < td >222</ td >
                 < td onclick = "GetPrev(this)" >编辑</ td >
             </ tr >
             < tr >
                 < td >h3</ td >
                 < td >192.168.1.3</ td >
                 < td >333</ td >
                 < td onclick = "GetPrev(this)" >编辑</ td >
             </ tr >
         </ tbody >
     </ table >
     < div id = "dialog" class = "modal hide" >
         < form action = "" method = "get" >
             < p >主机名:< input type = "text" id = "hostname" /></ p >
             < p >IP:< input type = "text" id = "ip" /></ p >
             < p >端口:< input type = "text" id = "port" /></ p >
             < input type = "submit" value = "提交" onclick = "return SubmitForm()" >
             <!--当onclick返回false,submit不进行提交。-->
             < input type = "button" value = "取消" onclick = "Cancel()" >
         </ form >
     </ div >
     < script type = "text/javascript" src = "jquery-2.1.4.min.js" ></ script >
     < script type = "text/javascript" >
         function GetPrev(arg){
             var list=[];
             $.each($(arg).prevAll(),function(i){
                 var item=$(arg).prevAll()[i];
                 //this
                 var text=$(item).text();
                 list.push(text);
             });
             var new_list=list.reverse();
             //在弹出框的hostname中设置值
             $('#hostname').val(new_list[0]);
             $('#ip').val(new_list[1]);
             $('#port').val(new_list[2]);
 
             $('#dialog').removeClass('hide');
         }
         function SubmitForm(){
             //获取form表单中的input值,判断是否为空;
             var ret=true;
             //遍历所有的input["type=text"],只要有空值,就将ret设置为false;
             $(':text').each(function(){
                 //$(this)=要循环的每一个元素
                 var value=$(this).val();
                 if(value.trim().length==0){
                     $(this).css('border-color','red');
                     alert("不能为空");
                     ret=false;
                 }else{
                     $(this).css('border-color','green');
                 }
             });
             return ret;
         }
         function Cancel(){
             $('#dialog').addClass('hide');
         }
     </ script >
</ body >
</ html >
效果:​




















免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM