目的:

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

主要知识点:

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>
效果:​

jQuery--修改表单数据并提交的更多相关文章

  1. Spring MVC Ajax 嵌套表单数据的提交

    概述 在一些场景里,某个大表单里常常嵌套着一个或若干个小逻辑块,比如以下表单里"设计预审"中包括了一个子模块表单"拟定款项". 在这种情况下该怎么去设计实体类以 ...

  2. 雷林鹏分享:jQuery EasyUI 表单 - 创建异步提交表单

    jQuery EasyUI 表单 - 创建异步提交表单 本教程向您展示如何通过 easyui 提交一个表单(Form).我们创建一个带有 name.email 和 phone 字段的表单.通过使用 e ...

  3. jquery收集表单数组及去掉字符串最后的逗号!

    jquery收集表单数组: <input type='text' name='one[]' value='' /><br> <input type='text' name ...

  4. 使用jquery修改表单的提交地址

    基本思路: 通过使用jquery选择器得到对应表单的jquery对象,然后使用attr方法修改对应的action 示例程序一: 默认情况下,该表单会提交到page_one.html 点击button之 ...

  5. delaycall.js 修改表单延迟自动提交的 jQuery / Zepto 插件

    delaycall.js delaycall 是一个 jQuery / Zepto 插件,用于在用户完成某项操作后,延迟指定秒数后自动调动指定函数.如用户输入完内容后,延迟1秒,自动提交表单. Git ...

  6. 【Codebase】JQuery获取表单部分数据提交方法

    JQuery使用ajax提交整个表单最简便的方法就是$('#form').serialize();但如果仅想保存表单中的部分数据,比如仅更新选中的条目,那么获取数据就比较麻烦了. 解决方法:新建一个表 ...

  7. django防止表单数据重复提交

    思路:      在Asp.net中存在Page.IsPostback的方法,所以对django中表单提交数据的重复提交的数据采用相似方法实现,即在页面第一次访问时,即访问方法为GET方法在view中 ...

  8. jquery获取表单数据方法$.serializeArray()获取不到disabled的值

    $.serializeArray()获取不到disabled的值 经实验,$.serializeArray()获取不到disabled的值,如果想要让input元素变为不可用,可以把input设为re ...

  9. jquery插件-表单提交插件-jQuery.Form

    1.介绍 JQuery Form插件是一款强大的Ajax表单提交插件,可以简单方便的实现让我们的表单 由传统的提交方式转换成Ajax无刷新提交! 他提供了两个核心的方法ajaxForm以及ajaxSu ...

随机推荐

  1. wlan经常掉线怎么办?

    有没有这样的情款,好好的网络总是突然断掉然,之后就需要重新连接,连接以后没多久有需要重新连接.本次经验就来和大家一起分享一下几种情况的解决方法,非常的简单实用. 工具/原料 电脑 电源设置问题 1.本 ...

  2. 有状态与无状态 cookie session

    服务器所维护的与客户交互活动的信息称为状态信息.不保存任何状态信息的服务器称为无状态服务器(stateless server),反之则称为有状态服务器(stateful server). 面向连接对应 ...

  3. SqlServer2008 新建服务器对象->链接服务器脚本

    exec sp_addlinkedserver   'ddxx', '', 'SQLOLEDB','1.192.168.220'exec sp_addlinkedsrvlogin 'ddxx','fa ...

  4. 关于quartus工程添加文件的说明

    quartus工程中要添加bsf文件的话需要将源文件也一同添加进来,添加ip核需要添加qip文件,时序约束文件只有添加到工程中才有效果,而timequest分析时需要制定约束文件.

  5. 恢复所有情况的ip地址

    在终端下输入一串ip字符串如:19219219211,ip地址可能是19.219.219.211.192.19.219.211.192.192.19.211和192.192.192.11. 以下是本人 ...

  6. gatsbyjs 了解

    1.  模型 2. 总结&&资料 从模型上可以看出和jamstack 提出的架构模型比较相似,可以看成是一个具体的实现,功能还是比较强大的 https://www.gatsbyjs.o ...

  7. 异常mongodb:Invalid BSON field name XXXXXX:YYYYY.zz

    1.本周遇到这个问题. 定位到发现一个很神奇的现象上面的结构无法顺利以map的key值存入mongodb里面. 而且到线上才发现这个问题. 而且是部分用户才会出现这样的情况 大部分人的该数据是这样的 ...

  8. Spring、Spring MVC、MyBatis整合文件配置详解2

    使用SSM框架做了几个小项目了,感觉还不错是时候总结一下了.先总结一下SSM整合的文件配置.其实具体的用法最好还是看官方文档. Spring:http://spring.io/docs MyBatis ...

  9. Maven项目中突然找不到Build Path或maven dependencies library

    这两天发现有个maven项目抽风了,一个是右击项目找不到Build Path了,一个是依赖的lib库没了,maven引入的依赖包导不了.后来发现是eclipse搞的鬼,出问题的是项目下的.classp ...

  10. js大法处理富文本输入