javascript和表单-表格交互

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript">
    var tempcolor;
    function yz(obj)
    {
        if(obj.value == "改变")
        {
            obj.value = "提交"; //可以直接传对象
        }
        else
        {
            obj.value = "改变"; //可以直接传对象
        }
        
        return false; //返回为假。不提交
    }
    function tb()
    {
        //可以直接读取表单里的name属性元素。但是必须从表单开始,一级一级的找 --也可以直接用form表达来访问表单里的        //元素 如:form.ttt.value;
        form1.ttt.value=form1.txts.value; 
    }
    
    function changeover(obj)
    {
        tempcolor = obj.style.backgroundColor; //记录之前的元素
        obj.style.backgroundColor = "#F00";        
    }
    function changeout(obj)
    {
        obj.style.backgroundColor = tempcolor;
    }
    
    window.onload = function()
    {
        var obj = document.getElementsByTagName("tr");
        for(var i =0; i < obj.length; i++)
        {
            if(i%2==0) //下标从零开始。 所以得到效果是奇数行染色
            {
                obj[i].style.backgroundColor="#00FF00";    
            }
        }
    }
</script>
</head>

<body>
    <form name="form1" method="post" action="#">
        <input type="text" name="txts" onkeyup="tb();" />
         <!--传递本身 这个应用还可以用在动态改变表格的背景色。-->
        <input type="submit" value="提交" onclick="return yz(this);" />
        <input type="text" name="ttt" />
    </form>
    
    <!--实时改变表格背景色特效-->
    <table border="1" bordercolor="#000000" cellpadding="0" cellspacing="0">
        <tr height="20px" onmouseover="changeover(this);" onmouseout="changeout(this);"><td width="200px"></td><td width="200px"></td><td width="200px"></td></tr>
        <tr height="20px" onmouseover="changeover(this);" onmouseout="changeout(this);"><td></td><td></td><td></td></tr>
        <tr height="20px" onmouseover="changeover(this);" onmouseout="changeout(this);"><td></td><td></td><td></td></tr>
        <tr height="20px" onmouseover="changeover(this);" onmouseout="changeout(this);"><td></td><td></td><td></td></tr>
        <tr height="20px" onmouseover="changeover(this);" onmouseout="changeout(this);"><td></td><td></td><td></td></tr>
    </table>
</body>
</html>

 

转载于:https://www.cnblogs.com/clouds008/archive/2013/05/27/3101279.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
自己常用的js库和写的一个交互型可编辑表格: new BaseJs.EditTable({ // 表对象 table : BaseJs.$("tab"), // 从第几行第几列开始可编辑 start : [2, 1], // 到哪一行哪一列结束编辑 不写默认所有,写一个参数代表列,行不限 end : [], // 新增操作 addAction : { // (button)执行操作的按钮, button : BaseJs.$('add'), // callback:执行操作后的回调函数,能够加入一些自定义操作 callback : function(tr) { tr.onclick = function() { var trs = BaseJs.getByTagName("tr",BaseJs.$("tab")); for (var i = 0; i < trs.length; i++) { trs[i].style.background = '#FAFCFE'; } tr.style.background = '#B8CCF0'; } } }, // 保存新增或更新操作 saveOrUpdateAction : { button : BaseJs.$('save'), // 提交更新url,后台取参数data,为json字符串 url : 'saveOrUpdateActionUrl', //返回true执行保存操作 beforeCallback:function(data){ alert("提交给后台url:saveOrUpdateActionUrl?data="+BaseJs.encode(data)); return false; }, afterCallback : function(mo) { alert("提交修改后的数据:"+mo); //document.location.reload(); } }, // 删除操作 delAction : { button : BaseJs.$('delete'), // 删除url 可用函数返回动态url url : function() { return 'delActionUrl&mid=' + document.getElementById("mid").value; }, //返回true执行删除操作 beforeCallback:function(){ alert("提交给后台url:delActionUrl?sids="+document.getElementById("mid").value); return false; }, afterCallback : function() { document.location.reload(); } }, // id名(记录的id值需要保存在tr.id上) primaryKey : 'id', // 要全并的列数集合 [0]代表第一列要执行合并操作,[0,1]代表1,2列有合并操作 mergeColumn : [], // 列描述对象 ,包含一个数组,数组中每一个对象说明一个列编辑对象和相关处理 column : [ { name : 'year', // 选择型 editorType : 'select', // 加载select数据url,返回json数据,格式应为:[{display:'',value:''},{display:'',value:''}] dataUrl : 'WaterQualityAction?method=AjaxSelect&para=LEVEL', //可以动态返回 //dataUrl : function(me){ // return 'WaterQualityAction?method=AjaxSelect&para=LEVEL'; //}, //本地数据 有此选项时dataUrl无效 data:"[{display:'2005年',value:'2005'},{display:'2004年',value:'2004'},{display:'2003年',value:'2003'},{display:'2002年',value:'2002'},{display:'2001年',value:'2001'}]", // 新增默认值,不写使用默认 defaultValue : '2008年', // 检验输入数据正确性,返回true通过验证 validate : function(v, obj) { alert("现在检验输入数据合法性!"); return true; } }, { name : 'com', editorType : 'text', defaultValue : '请输入', validate : function(v, obj) { if (!/^[0-9]+$/.test(v)){alert("必须是数字");return false}; return true; } }, { name : 'cn', editorType : 'text', defaultValue : '请输入', validate : function(v, obj) { if (!/^[0-9]+$/.test(v)){alert("必须是数字");return false}; return true; } }, { name : 'date_month', // 日期型 editorType : 'date', // 格式化日期样式,默认yyyy-MM format : 'yyyy年MM月份', //自定义默认值 defaultValue : BaseJs.Utils.format .date(new Date(), 'yyyy年MM月份') }] });
自己常用的js库和写的一个交互型可编辑表格: BaseJs库的一点源码: /** * 自定义javascript常用基础库 author zhang_jhai 创建时间 2010/04/10 最后修改时间 2010/05/03 * version 2.0 */ // Base库基础类 BaseJs = function() { // 判断浏览器类型 userAgent = navigator.userAgent.toLowerCase(); check = function(r) { return r.test(userAgent); }; isOpera = check(/opera/); isIE = !isOpera && check(/msie/); isIE7 = isIE && check(/msie 7/); isIE8 = isIE && check(/msie 8/); isIE6 = isIE && !isIE7 && !isIE8; var base = { isIE : isIE, // 动态添加事件 addEvent : function(oTarget, sEventType, funName) { if (oTarget.addEventListener) { oTarget.addEventListener(sEventType.substring(2, sEventType.length), funName, false); } else if (oTarget.attachEvent) { oTarget.attachEvent(sEventType, funName); } else { oTarget[sEventType] = funName; } }, // 删除事件 removeEvent : function(oTarget, sEventType, funName) { if (oTarget.removeEventListener) { oTarget.removeEventListener(sEventType.substring(1, sEventType.length), funName, false); } else if (oTarget.detachEvent) { oTarget.detachEvent(sEventType, funName); } else { oTarget[sEventType] = null; } }, // 阻止事件冒泡行为 stopBubble : function(ev) { // 如果传入了事件参数,则说明不是ie浏览器 if (ev && ev.stopPropagation) { ev.stopPropagaton(); } else { window.event.cancelBubble = true; } }, // 阻止事件默认浏览器行为 stopDefault : function(ev) { // w3c标准 if (ev && ev.preventDefault) { ev.preventDefault(); } // ie window.event.returnValue = false; return false; }, ........................... ........................... 可编辑表格用法示例: var buttons = BaseJs.getByTagName("img"); for (var i=0;i -1){ add = buttons[i]; }else if(src.indexOf('del')>-1){ del = buttons[i]; }else if(src.indexOf('save')>-1){ save = buttons[i]; } } EidtTable = new BaseJs.EditTable({ /

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值