Js怎么写能控制单元格不可修改

JavaScript021

Js怎么写能控制单元格不可修改,第1张

原生 javascript 示例 ( 表格+input ):

<table border="0" cellspacing="0" cellpadding="1" style="text-align: center">

<tr><td></td><td>A</td><td>B</td><td>C</td><td>D</td></tr>

<tr><td>1</td><td><input type="text" id="A1"/></td><td><input type="text" id="B1"/></td><td><input type="text" id="C1"/></td><td><input type="text" id="D1"/></td></tr>

<tr><td>2</td><td><input type="text" id="A2"/></td><td><input type="text" id="B2"/></td><td><input type="text" id="C2"/></td><td><input type="text" id="D2"/></td></tr>

<tr><td>3</td><td><input type="text" id="A3"/></td><td><input type="text" id="B3"/></td><td><input type="text" id="C3"/></td><td><input type="text" id="D3"/></td></tr>

</table>

&nbsp&nbsp&nbsp<span id="hints"></span>

<script type="text/javascript">

function validCell(me){

var thisid=me.id//获取当前点击的输入单元格内的input框的id

var preId=thisid.substr(0,1)+(parseInt(thisid.substr(1),10)-1)//计算得上一行对应位置的input框的id

var preEle=document.getElementById(preId)//获取一行对应位置的input框对象

if(preEle!=null){//如果存在上一行对应位置的input

if(preEle.value==""){//且 上一行对应位置的input已经输入了内容

document.getElementById("hints").innerText="请先填写上一行对应的单元格: "+preId

me.setAttribute("readonly","true")//设置为不可编辑

}else{

me.removeAttribute("readonly")//去除只读属性,使其可输入内容

document.getElementById("hints").innerText=""//清除提示

}

}

}

</script>

<script type="text/javascript">

var inputs = document.getElementsByTagName("input")

for (var i in inputs) {

if(inputs[i].type=="text"){//为所有 input text 框添加点击事件

inputs[i].setAttribute("onclick","validCell(this)")

}

}

</script>

不光javascript,C#也是如此。

有关字符串的操作,都是保持原型的。在每次操作完会自动生成一个新的变量。

比如:

var s = "hello"//这里申请内存,并保存数据hello,并把内存地址赋给s

s.toUpperCase()//生成一个新的数据HELLO,并申请内存保存之

s = s.ToUpperCase() //同上,多了一步:把新的内存地址赋给s,此时s的值就是HELLO了。

所谓的“原始值是不可更改”,就是原始值对应的内存数据没有发生变化,变化的是重新申请的内存空间的数据。

我不知道你用的textarea是哪一种

1、获取ID,让它只读

document.getElementById('txt1').readOnly=true

2、只读或者不可用

<textarea

readonly="true">adfadf</textarea><BR>

<textarea

disabled="true">adfadf</textarea><BR>

第一次未删除前

将你的textarea的文本赋值给一个变量。

第二次删除后

获取textarea的值,赋值给别一个变量。

如果删除后

的textarea里的文本不包含你想要的

部分文字。

则返回你第一次未删除前的变量。

思路给了,可以实现的。