JavaScript 高级程序设计 表单和数据完整性

1. 创建表单是为了满足用户向服务器发送数据的需求。

 

2. HTML表单是通过<form/>元素定义的,特性如下:
(1)method 浏览器发送GET请求或是POST请求

(2)action 表单所要提交到的地址URL

(3)enctype 想服务器端发送数据时,数据应该使用的编码方法。如果要上传文件,设置成multipart/form-data

(4)accept 当上传文件时,列出服务器能正确处理的mime类型。

(5)accept-charset 当提交数据时,列出服务器接受的字符编码

 

3. 文本框事件:  

change 当用户更改内容后文本框失去焦点时发生   blur失去焦点就触发

select 当一个或多个字符被选中时发生

 

如果文本不变,但文本框失去焦点,那么只有blur事件被触发;如果文本发生变化,则先触发change事件,在触发blur事件

<input type="text"  id="txt1" value="xxxx" οnblur="alert('blur')" οnchange="alert('change')"> <br />

 

4.  列表框和组合框

 

<select id="selAge" name="selAge" size="3">

            <option value="1">18-21</option>    value用来确定控件所有可能的值,所选的选项可将它的value指定

            <option value="2">22-25</option> 给控件,发送到服务器。

            <option value="3">26-29</option>

            <option value="4">30-35</option>

            <option value="5">Over</option>

        </select>

 

5.  对单列表格进行排序

    <html>
	<head>
        <title></title>
        <script language="javascript" type="text/javascript">        
            function sortTable(sTableID)
            {
                var oTable=document.getElementById("tblSort");
                var oTBody=oTable.tBodies[0];
                var colDataRows=oTBody.rows;    //rows是个DOM集合,并非数组,不能用sort()方法。
                var aTRs=new Array;                
                for(var i=0;i<colDataRows.length;i++){
                    aTRs.push(colDataRows[i]);
                }
                
                aTRs.sort(compareTRs);
                
                var oFragment=document.createDocumentFragment();
                for(var i=0;i<aTRs.length;i++){
                    oFragment.appendChild(aTRs[i]);
                }
                oTBody.appendChild(oFragment);               
            
            }
            function compareTRs(oTR1,oTR2)
            {
                var sValue1=oTR1.cells[0].firstChild.nodeValue;
                var sValue2=oTR2.cells[0].firstChild.nodeValue;
                
                return sValue1.localeCompare(sValue2);
            }
       </script>
    </head>
    <body>
        <input type="button" value="点击" οnclick="sortTable(tblSort)">        
        <table border="1" id="tblSort">
            <thead>
                <tr>
                    <th>Last Name</th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td>Smith</td>
                </tr>
                <tr>
                    <td>Johnson</td>
                </tr>
                <tr>
                    <td>Henderson</td>
                </tr>
                <tr>
                    <td>Williams</td>
                </tr>
                <tr>
                    <td>Gilliam</td>
                </tr>
                <tr>
                    <td>Walker</td>
                </tr>
            </tbody>
        </table>
    </body>
</html>                    

 

6. 对多列表格进行排序

 

<html>
    <head>
        <title></title>
        <script language="javascript" type="text/javascript">        
            function sortTable(sTableID,iCol)
            {
                var oTable=document.getElementById(sTableID);
                var oTBody=oTable.tBodies[0];
                var colDataRows=oTBody.rows;    //rows是个DOM集合,并非数组,不能用sort()方法。
                var aTRs=new Array;                
                for(var i=0;i<colDataRows.length;i++){
                    aTRs[i]=colDataRows[i];
                }                
                aTRs.sort(generateCompareTRs(iCol));
                
                var oFragment=document.createDocumentFragment();
                for(var i=0;i<aTRs.length;i++){
                    oFragment.appendChild(aTRs[i]);
                }
                oTBody.appendChild(oFragment);         
            }
            function generateCompareTRs(iCol)
            {
                return function compareTRs(oTR1,oTR2)
                        {
                            var sValue1=oTR1.cells[iCol].firstChild.nodeValue;
                            var sValue2=oTR2.cells[iCol].firstChild.nodeValue;
                
                            return sValue1.localeCompare(sValue2);
                        }
            }
            
       </script>
    </head>
    <body>
               
        <table border="1" id="tblSort">
            <thead>
                <tr>
                    <th οnclick="sortTable('tblSort',0)" style="cursor:pointer">Last Name</th>
                    <th οnclick="sortTable('tblSort',1)" style="cursor:pointer">First Name</th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td>Smith</td>
                    <td>John</td>
                </tr>
                <tr>
                    <td>Johnson</td>
                    <td>Betty</td>
                </tr>
                <tr>
                    <td>Henderson</td>
                    <td>Nathan</td>
                </tr>
                <tr>
                    <td>Williams</td>
                    <td>James</td>
                </tr>
                <tr>
                    <td>Gilliam</td>
                    <td>Michael</td>
                </tr>
                <tr>
                    <td>Walker</td>
                    <td>Matthew</td>
                </tr>
            </tbody>
        </table>
    </body>
</html>                    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
大模型安全评估测试题大模型安全评估测试题关键词库生成内容测试题库应拒答测试题库非拒答测试题大模型安全评估测试题大模型安全评估测试题关键词库生成内容测试题库应拒答测试题库非拒答测试题大模型安全评估测试题大模型安全评估测试题关键词库生成内容测试题库应拒答测试题库非拒答测试题大模型安全评估测试题大模型安全评估测试题关键词库生成内容测试题库应拒答测试题库非拒答测试题大模型安全评估测试题大模型安全评估测试题关键词库生成内容测试题库应拒答测试题库非拒答测试题大模型安全评估测试题大模型安全评估测试题关键词库生成内容测试题库应拒答测试题库非拒答测试题大模型安全评估测试题大模型安全评估测试题关键词库生成内容测试题库应拒答测试题库非拒答测试题大模型安全评估测试题大模型安全评估测试题关键词库生成内容测试题库应拒答测试题库非拒答测试题大模型安全评估测试题大模型安全评估测试题关键词库生成内容测试题库应拒答测试题库非拒答测试题大模型安全评估测试题大模型安全评估测试题关键词库生成内容测试题库应拒答测试题库非拒答测试题大模型安全评估测试题大模型安全评估测试题关键词库生成内容测试题库应拒答测试题库非拒答测试题大模型安全
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值