能否用简单的一句话控制table里的所有input框为readonly,而不需逐个input控制?

yundanfengqing 2003-05-22 04:43:51
能否用简单的一句话控制table里的所有input框为readonly,而不需逐个input控制?
...全文
188 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
yonghengdizhen 2003-05-23
  • 打赏
  • 举报
回复
表达式比较耗费资源.
不如写htc用样式实现.
emu_ston 2003-05-23
  • 打赏
  • 举报
回复
如果又要通用又要全面的禁止,就不一定能符合楼主的要求了:
<BODY>
<SCRIPT LANGUAGE="JavaScript">
<!--
readonly_tag=false;
setInterval("with(document.forms[0])for(var i=0;i<elements.length;i++)elements[i].readOnly=readonly_tag",100);
//-->
</SCRIPT>
<form>
<input><input><input><input><input><input>
</form>
<BR><BR>
<button onclick="readonly_tag=true">readonly</button>
<button onclick="readonly_tag=false">editable</button>
</BODY>

上面其实是这个代码的变形:
<BODY>
<form>
<input><input><input><input><input><input>
</form>
<BR><BR>
<button onclick="with(document.forms[0])for(var i=0;i<elements.length;i++)elements[i].readOnly=true"">readonly</button>
<button onclick="with(document.forms[0])for(var i=0;i<elements.length;i++)elements[i].readOnly=false">editable</button>Only=readonly_tag
</BODY>

其实已经称不上“简单的一句话控制”了
fason 2003-05-23
  • 打赏
  • 举报
回复
有没有比较快的网站可以下netscape,我的删了,想找其它好的方法试试,我的校园网上不了外国的.
emu_ston 2003-05-23
  • 打赏
  • 举报
回复
fason:
没想到拖放的时候不触发mouseover事件。
其实第一个用expression实现的例子就可以防止。
qigang_liu 2003-05-23
  • 打赏
  • 举报
回复
最简单的做法看下面的例子,就搞定了!!!!
<input type="text" name=t3 size=30 readonly value="<%=session("user_id")%>">
fason 2003-05-23
  • 打赏
  • 举报
回复
我没有都忽略一个很少被注意到的缺点,用鼠标拖曳进去
emu 2003-05-23
  • 打赏
  • 举报
回复
zhjzh_zjz(虚心学习,望多指教) :
昨天急着下班没有仔细考虑,下班路上才想起来这个问题。这样:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>

<BODY>
<SCRIPT LANGUAGE="JavaScript">
<!--
readonly_tag=false;
//-->
</SCRIPT>
<table>
<tr>
<td><input onmouseover="readOnly=readonly_tag" onkeydown="readOnly=readonly_tag"></td>
<td><input onmouseover="readOnly=readonly_tag" onkeydown="readOnly=readonly_tag"></td>
<td><input onmouseover="readOnly=readonly_tag" onkeydown="readOnly=readonly_tag"></td>
</tr>
<tr>
<td><input onmouseover="readOnly=readonly_tag" onkeydown="readOnly=readonly_tag"></td>
<td><input onmouseover="readOnly=readonly_tag" onkeydown="readOnly=readonly_tag"></td>
<td><input onmouseover="readOnly=readonly_tag" onkeydown="readOnly=readonly_tag"></td>
</tr>
<tr>
<td><input onmouseover="readOnly=readonly_tag" onkeydown="readOnly=readonly_tag"></td>
<td><input onmouseover="readOnly=readonly_tag" onkeydown="readOnly=readonly_tag"></td>
<td><input onmouseover="readOnly=readonly_tag" onkeydown="readOnly=readonly_tag"></td>
</tr>
</table>
<BR><BR>
<button onclick="readonly_tag=true">readonly</button>
<button onclick="readonly_tag=false">editable</button>
</BODY>
</HTML>

IE,NS通用。

jsidiot 2003-05-23
  • 打赏
  • 举报
回复
emu高手。跟你怎么也学不完.呵呵
江南昆虫 2003-05-23
  • 打赏
  • 举报
回复
<style>
.readYes input{jnkc:expression(this.readOnly=true)}
.readNo input{jnkc:expression(this.readOnly=false)}
</style>
<button onclick="readTb.className=(readTb.className!='readYes')?'readYes':'readNo';this.value=(this.value!='readonly')?'readonly':'editable'">readonly</button>
<div id="readTb"><input><input><input><input><input></div>


这样可以自由控制受控区域!
zhjzh_zjz 2003-05-22
  • 打赏
  • 举报
回复
to emu_ston:
你就是emu 的马甲啦!!佩服。不过 onkeypress="return !readonly_tag" 就没办法防止别人拷贝复制了!
emu_ston 2003-05-22
  • 打赏
  • 举报
回复
更正:

document.all["txtName"]获得的是集合
==》
document.all["txtName"]在txtName控件多于一个的情况下获得的是集合。
emu_ston 2003-05-22
  • 打赏
  • 举报
回复
funboy88(司令哥) :

不要那么懒,做个试验并不麻烦嘛:

<input id= funboy88><input id= funboy88><input id= funboy88>
<button onclick="document.all['funboy88'].readOnly=true">test</button>

首先,是readOnly属性,不是readonly。

其次document.all["txtName"]获得的是集合,而readOnly属性是控件的属性,不是集合的属性。
funboy88 2003-05-22
  • 打赏
  • 举报
回复
如果ID都是一样的话,应该可以用
document.all["txtName"].readonly=true;
fason 2003-05-22
  • 打赏
  • 举报
回复
try:

<BODY>
<table>
<tr>
<td><input onfocus="a(f)"></td>
<td><input onfocus="a(f)"></td>
<td><input onfocus="a(f)"></td>
</tr>
<tr>
<td><input onfocus="a(f)"></td>
<td><input onfocus="a(f)"></td>
<td><input onfocus="a(f)"></td>
</tr>
<tr>
<td><input onfocus="a(f)"></td>
<td><input onfocus="a(f)"></td>
<td><input onfocus="a(f)"></td>
</tr>
</table>
<input type=button value=try id=c onclick="f=!f">
<script>
var f=false
function a(tag){!tag?c.focus():''}
</script>
</BODY>
sandyuk 2003-05-22
  • 打赏
  • 举报
回复

好东东,收藏先!

emu 2003-05-22
  • 打赏
  • 举报
回复
给style加了个属性而已,emu是随便叫的,你想改成usa也成。

朴素一点的写法是:

<BODY>
<SCRIPT LANGUAGE="JavaScript">
<!--
readonly_tag=false;
//-->
</SCRIPT>
<table onkeypress="return !readonly_tag">
<tr>
<td><input></td>
<td><input></td>
<td><input></td>
</tr>
<tr>
<td><input></td>
<td><input></td>
<td><input></td>
</tr>
<tr>
<td><input></td>
<td><input></td>
<td><input></td>
</tr>
</table>
<BR><BR>
<button onclick="readonly_tag=true">readonly</button>
<button onclick="readonly_tag=false">editable</button>
</BODY>


同样只在IE下有效。ns和moz的事件处理机制不同,写起来麻烦些:

<BODY>
<SCRIPT LANGUAGE="JavaScript">
<!--
readonly_tag=false;
//-->
</SCRIPT>
<table>
<tr>
<td><input onkeypress="return !readonly_tag"></td>
<td><input onkeypress="return !readonly_tag"></td>
<td><input onkeypress="return !readonly_tag"></td>
</tr>
<tr>
<td><input onkeypress="return !readonly_tag"></td>
<td><input onkeypress="return !readonly_tag"></td>
<td><input onkeypress="return !readonly_tag"></td>
</tr>
<tr>
<td><input onkeypress="return !readonly_tag"></td>
<td><input onkeypress="return !readonly_tag"></td>
<td><input onkeypress="return !readonly_tag"></td>
</tr>
</table>
<BR><BR>
<button onclick="readonly_tag=true">readonly</button>
<button onclick="readonly_tag=false">editable</button>
</BODY>

zhjzh_zjz 2003-05-22
  • 打赏
  • 举报
回复
emu老大:expression的用法我还不太了解。刚看了你的一个解答,
INPUT{emu:expression(this.readOnly=window.readonly_tag)}
这个 emu 是干什么的?为什么我去掉就不行了呢?
emu 2003-05-22
  • 打赏
  • 举报
回复
仅限IE:
<BODY>
<SCRIPT LANGUAGE="JavaScript">
<!--
readonly_tag=false
//-->
</SCRIPT>
<style>
INPUT{emu:expression(this.readOnly=window.readonly_tag)}
</style>
<input><input><input><input><input><input><input><input><input><input>
<BR><BR>
<button onclick="readonly_tag=true">readonly</button>
<button onclick="readonly_tag=false">editable</button>
</BODY>
zhjzh_zjz 2003-05-22
  • 打赏
  • 举报
回复
<style>
input{disabled:true}

</style>
yundanfengqing 2003-05-22
  • 打赏
  • 举报
回复
zhangguagua(瓜瓜) 的方法可以。还有没有更简便的呢?
加载更多回复(4)

87,987

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧