关于使用 document.getElementById("input").value 给输入域赋值赋不上的问题

今天遇到一个奇葩的问题,用

document.getElementById("audit_shenpi_input").value = ‘aaa’;

给一个正常的输入域赋值时死活赋不上,输入域一直显示为空,但是打开浏览器的调试模式,输入域就可以看到值aaa了。

很正常的输入域如下:

<INPUT name=audit_shenpi_input class=tab4 id=audit_shenpi_input type=text size=80 maxLength=255 readOnly value=‘’>

查了半天,也换了好几种写法,例如

formname.input.value = '111';

也没生效。

后来。。。

后来。。。

删除了JS中一行代码就好了,它就是

console.log();

这。。。这。。。这。。。
太不可思议了。
哪位大拿能给解释一下原因?

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
对dhtmlXTree进行一个小的扩展 需求1: 动态生成树形菜单,每个节点都有各自的URL地址,单击不同的节点框架页的右侧跳转到该节点所对应的URL。(框架页说明:左边是树形菜单;右边是显示页面相应信息的页面) 分析: dhtmlXTree提供了很好的添加,删除节点的方法,故选择dhtmlXTree。 但是dhtmlXTree不能满足"每个节点都有各自的URL地址,单击不同的节点框架页的右侧跳转到该节点所对应的URL"这点需求,因次想到了对dhtmlXTree进行一个小的扩展,即在其节点对象原有属性的基础上,再添加两个扩展属性。具体操作如下: 1、找到定义节点对象的那个函数(或方法) function dhtmlXTreeItemObject(itemId,itemText,parentObject,treeObject,actionHandler,mode) 修改为 function dhtmlXTreeItemObject(itemId,itemText,parentObject,treeObject,actionHandler,mode,url,target) 并在方法体中添加赋值语句:this.itemURL=url;this.itemTarget=target; 2、然后修改所有与dhtmlXTreeItemObject有关(直接或者间接相关)的方法: _attachChildNode,insertNewItem,insertNewChild,insertNewNext,_recreateBranch,_parseXMLTree 注:_parseXMLTree方法是与loadXML,loadXMLString相关的。 在这些方法中生成节点的语句中添加相应的参数和语句,以支持新添加的属性itemURL,itemTarget。 需求2: 为dhtmlXTree树上的每一个节点添加右键菜单。附:在树上的节点上点右键时才会生成菜单,空白区单击时不会生成菜单。 分析: 1、用 dhtmlXTree + dhtmlxmenu 实现。 2、 用dhtmlxmenu生成菜单的部分代码: var menu = new dhtmlXMenuObject(); menu.setImagePath("imgs/"); menu.setIconsPath("images/"); menu.renderAsContextMenu(); menu.loadXML("dhtmlxmenu.xml?e="+new Date().getTime()); menu.addContextZone("treeboxbox_tree"); menu.addContextZone方法是为了把菜单添加到指定区。 3、dhtmlXTreeObject.prototype._createItem方法是构造树形菜单上元素的具体实现方法。看这个方法的具体操作,可以发现它为每一个节点构建了一个table,节点的内容(即名字)放置在一个span中。 4、考虑到dhtmlxmenu实在指定的区构建菜单,所以可以为dhtmlXTree树上的每一个节点添加右键事件,在这个右键事件里获得该节点对象所对应的区,然后在这个区内构建Menu菜单。 难点和解决方案: 1、怎样获得dhtmlXTree树上的每一个节点对象所对应的区?(dhtmlXTreeObject.prototype._createItem方法没有为这个节点的span设置id) 解决方法: 在dhtmlXTreeObject.prototype._createItem方法中添加一个为span设置id的语句: 即: 在itemObject.span=document.createElement('span'); itemObject.span.className="standartTreeRow"; 后,新添加一句 itemObject.span.id="treeNode_"+itemObject.id;//为这个span新增一个Id属性 2、为dhtmlXTree树上的每一个节点添加右键事件,在这个右键事件里获得该节点对象所对应的区,然后在这个区内构建Menu菜单。 解决方法: a、为dhtmlXTree树上的每一个节点添加右键事件: tree.setOnRightClickHandler(treeOnRegihtClick);//右键事件 b、构建Menu菜单: var menu = new dhtmlXMenuObject(); function treeOnRegihtClick(id){ alert("右键 "+" span.id:"+tree.getItem(id).span.id); menu.setImagePath("imgs/"); menu.setIconsPath("images/"); menu.renderAsContextMenu(); menu.loadXML("dhtmlxmenu.xml?e="+new Date().getTime()); menu.addContextZone(tree.getItem(id).span.id);alert("width:"+tree.getItem(id).span.clientWidth); //var X=tree.getItem(id).span.getBoundingClientRect().left; //var Y=tree.getItem(id).span.getBoundingClientRect().top; var X=document.getElementById('mouseXPosition').value;//获得鼠标的横坐标位置 var Y=document.getElementById('mouseYPosition').value;//获得鼠标的纵坐标位置 menu.showContextMenu(X,Y);//调用showContextMenu方法显示菜单 说明:如果这儿不加上这条语句的话,第一次点击右键时只能生成菜单,但是显示不出菜单,下次点击右键Menu菜单才能弹出。 //menu._showContextMenu(X,Y,tree.getItem(id).span.id); } c、用 javascript 获取当页面上鼠标(光标)位置 <script type="text/javascript"> // 说明:获取鼠标位置 function mousePosition(ev){ if(ev.pageX || ev.pageY){ return {x:ev.pageX, y:ev.pageY}; } return { x:ev.clientX + document.body.scrollLeft - document.body.clientLeft, y:ev.clientY + document.body.scrollTop - document.body.clientTop }; } document.onmousemove = mouseMove; function mouseMove(ev){ ev = ev || window.event; var mousePos = mousePosition(ev); document.getElementById('mouseXPosition').value = mousePos.x; document.getElementById('mouseYPosition').value = mousePos.y; } </script> 页面上放置两个隐藏存放鼠标的位置:<input type="hidden" id=mouseXPosition><input type="hidden" id=mouseYPosition>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>文字走马灯</title> <style type="text/css"> *{ margin: 0; padding: 0; font-size:12px; } body{ background-color: #2C1914; font-family:"宋体"; } .abs{ position:absolute; } .rel{ position:relative; } .wrap{ min-height:1000px; } .main{ height:718px; } .con980{ width:980px; margin:0 auto; } .header{ width:100%; height:50px; } .play{ background:url() no-repeat; width:980px; height:625px; padding:22px 0 0 21px; } td{ width:187px; height:115px; font-family:"微软雅黑"; background-color:#666; text-align:center; line-height:115px; font-size:80px; } .playcurr{ background-color:#F60; color: #FFFFFF; } .playnormal{ background-color:#666; } .play_btn{ width:480px; height:115px; display:block; background-color:#F60; border:0; cursor:pointer; font-family:"微软雅黑"; font-size:40px;} .play_btn:hover{ color:#fff; } .btn_arr{ left:255px; top:255px; } </style> </head> <body> <div class="wrap"> <div class="header"></div> <div class="main"> <div class="con980"> <div class="play rel"> <p class="btn_arr abs"><input value="开始" id="btn1" type="button" class="play_btn" ></p> <table class="playtab" id="tb" cellpadding="0" cellspacing="1"> <tr> <td>春</td><td>眠</td><td>不</td><td>觉</td><td>晓</td> </tr> <tr> <td>花</td><td></td><td></td><td></td><td>处</td> </tr> <tr> <td>声</td><td></td><td></td><td></td><td>处</td> </tr> <tr> <td>雨</td><td></td><td></td><td></td><td>闻</td> </tr> <tr> <td>风</td><td>来</td><td>夜</td><td>鸟</td><td>啼</td> </tr> </table> </div> </div> </div> </div> [removed] /*思路:获取坐标--数组arr 运行轨迹--获取最外圈数组 runArr 高亮显示--根据runArr的下标来更换背景色和字体颜色 速度变化--改变定时器的执行频率 setTimeIterver(function(),time) 停止点--获取随机数付给runArr,并清除定时器 加速减速 转动圈数:计数器 */ /*定义二维数组 为了易于维护修改,长宽设为参数m,n*/ function getSide(m,n){ var arr=[m];//先声明m长度的一维 for(var i=0;i<m;i++){ arr[i]=[n];//声明n长度的二维 for(var j=0;j<n;j++){ arr[i][j]=i*n+j; //给数组元素赋值 } } //检测二维数组 // for(var i=0;i<arr.length;i++){ // [removed]("第"+i+"行: "+arr[i]+"<br/>"); // } /*获取运动轨迹 -- 最外圈的数组*/ var runArr=[]; var tempX=0, //定义坐标 tempY=0, direction="straight", count=0; while(tempX>=0 && tempX<n && tempY>=0 && tempY<m && count<m*n){//循环条件 tempX tempY在 n和m的长度范围内 count++; runArr.push([tempY,tempX]); if(direction=="straight"){//亮块直行的规律 if(tempX==n-1){ tempY++; } else{ tempX++; } if(tempX==n-1&&tempY;==m-1){//亮块处于拐点 direction="turn"; //改变条件 执行下面代码 } } else{ if(tempX==0){//亮块直行的规律 tempY--; } else{ tempX--; } if(tempX==0 && tempY==0){ break; } } } return runArr; } var stopNum,//停止数 index=0,//当前亮区位置 prevIndex, //前一位置 speed=300,//初始速度 timer,//定时器对象 downIndex=0, //决定在哪一格变慢 cycle=0, //转动圈数 EndCycle=0, //设置转几圈后再减速 flag=false, //结束转动标志 为true时停止 speedUp=0; //加速 tb = document.getElementById("tb"), //获取tb对象 btn = document.getElementById("btn1"),//获取按钮对象 runArr=[]; runArr=getSide(5,5);//初始化数组 /* for(var i=0;i<runArr.length;i++){ [removed](runArr[i]+"<br/>"); }*/ //定义启动函数 function start(){ btn.disabled = true; stopNum = Math.floor(Math.random() * 16);//点击产生随机数,最后将停在次数上 downIndex=Math.floor(Math.random() * 16); EndCycle=1; clearInterval(timer); cycle=0; flag=false;//结束转动标志 timer=setInterval(run,speed);//启动定时器 } //运行函数 function run(){ change();//背景变化函数 //跑马灯加速 if(flag==false){ if(speedUp==5){ //走5格后加速 clearInterval(timer); //先清除定时器,再改变速度 speed=50; timer=setInterval(run,speed); } } //跑N圈后减速 if(cycle==EndCycle+1 && index==downIndex){ clearInterval(timer); speed=300; flag=true; //触发结束 timer=setInterval(run,speed);//减速 } //计算转了几圈 if(index>=runArr.length){ index=0; cycle++; } //停止并选中号码 if(flag==true && index==stopNum){ speedUp=0; clearInterval(timer); btn.disabled = false; } } //单元格背景变亮 function change(){ tb.rows[runArr[index][0]].cells[runArr[index][1]].className="playcurr"; //给当前单元格添加样式,换高亮的背景色; if(index>0){ prevIndex=index-1;//前一位置 } else{ prevIndex=runArr.length-1; } tb.rows[runArr[prevIndex][0]].cells[runArr[prevIndex][1]].className="playnormal";//光标走过后恢复背景色; index++; speedUp++; } [removed] </body> </html>

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冷风在北京

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值