/// <summary>
/// 设置当前页面上的所有可输入和选择的控件为只读属性
/// </summary>
/// <param name="page"></param>
public static void SetControlReadOnly(Page page)
{ foreach (Control ctrl in page.Controls)
{
SetControlReadOnly(ctrl); }
}
//递归调用。设置控件只读。
public static void SetControlReadOnly(Control ctr)
{
if (ctr is TextBox)
{
TextBox txtControl = (TextBox)ctr;
txtControl.ReadOnly = true;
txtControl.Enabled = false; }
else if (ctr is RadioButton)
{
RadioButton btn = (RadioButton)ctr;
btn.Enabled = false; }
else if (ctr is RadioButtonList)
{
RadioButtonList btn = (RadioButtonList)ctr;
btn.Enabled = false;
} else if (ctr is CheckBox)
{
CheckBox cb = (CheckBox)ctr;
cb.Enabled = false;
}
else if (ctr is DropDownList)
{
DropDownList list = (DropDownList)ctr;
list.Enabled = false;
} else if (ctr is HtmlTextArea)
{
HtmlTextArea cb = (HtmlTextArea)ctr;
cb.Attributes.Add("readonly", "");
cb.Disabled = true;
}
else if (ctr is HtmlSelect)
{
HtmlSelect rb = (HtmlSelect)ctr;
rb.Disabled = true;
} else if (ctr is HtmlInputCheckBox)
{
HtmlInputCheckBox rb = (HtmlInputCheckBox)ctr;
rb.Disabled = true;
}
else if (ctr is HtmlInputRadioButton)
{
HtmlInputRadioButton rb = (HtmlInputRadioButton)ctr;
rb.Disabled = true;
}
else if (ctr is HtmlInputText)
{
HtmlInputControl input = (HtmlInputControl)ctr;
input.Attributes.Add("readonly", "");
input.Disabled = true;
}
else
foreach (Control ctr1 in ctr.Controls)
{
SetControlReadOnly(ctr1);
}
}我在网上查到可以用上面的方法实现,但是怎么传一个page,比如我要控制test.jsp页面上所有控件只读,应该怎么实现?控件只读jspjava
/// 设置当前页面上的所有可输入和选择的控件为只读属性
/// </summary>
/// <param name="page"></param>
public static void SetControlReadOnly(Page page)
{ foreach (Control ctrl in page.Controls)
{
SetControlReadOnly(ctrl); }
}
//递归调用。设置控件只读。
public static void SetControlReadOnly(Control ctr)
{
if (ctr is TextBox)
{
TextBox txtControl = (TextBox)ctr;
txtControl.ReadOnly = true;
txtControl.Enabled = false; }
else if (ctr is RadioButton)
{
RadioButton btn = (RadioButton)ctr;
btn.Enabled = false; }
else if (ctr is RadioButtonList)
{
RadioButtonList btn = (RadioButtonList)ctr;
btn.Enabled = false;
} else if (ctr is CheckBox)
{
CheckBox cb = (CheckBox)ctr;
cb.Enabled = false;
}
else if (ctr is DropDownList)
{
DropDownList list = (DropDownList)ctr;
list.Enabled = false;
} else if (ctr is HtmlTextArea)
{
HtmlTextArea cb = (HtmlTextArea)ctr;
cb.Attributes.Add("readonly", "");
cb.Disabled = true;
}
else if (ctr is HtmlSelect)
{
HtmlSelect rb = (HtmlSelect)ctr;
rb.Disabled = true;
} else if (ctr is HtmlInputCheckBox)
{
HtmlInputCheckBox rb = (HtmlInputCheckBox)ctr;
rb.Disabled = true;
}
else if (ctr is HtmlInputRadioButton)
{
HtmlInputRadioButton rb = (HtmlInputRadioButton)ctr;
rb.Disabled = true;
}
else if (ctr is HtmlInputText)
{
HtmlInputControl input = (HtmlInputControl)ctr;
input.Attributes.Add("readonly", "");
input.Disabled = true;
}
else
foreach (Control ctr1 in ctr.Controls)
{
SetControlReadOnly(ctr1);
}
}我在网上查到可以用上面的方法实现,但是怎么传一个page,比如我要控制test.jsp页面上所有控件只读,应该怎么实现?控件只读jspjava
解决方案 »
- 15.2%0.5)==0.2
- 弱弱的问一下,现在jmail还能使用吗?
- jsp页面中如何获取request的属性,急!!!
- 大家帮忙解决一个方法的实现!
- java怎样来判断客户是从哪个网站上的超链接找到我自己的网站的???[
- jsp,struts关于session的问题
- 有熟悉Jboss Cache的吗?
- int mid = (low + high) >>> 1; “>>>”什么意思?有什么作用? java基础知识
- jasperreport的难一点的问题!
- execute node failed. Execute node failed :failed to receive from server
- linux环境下tomcat容器无法启动
- 求教如何在浏览器后退时过滤器仍起作用
function dis()
{
var a = document.getElementsByTagName("input");
for (var i=0; i<a.length; i++)
{
if (a[i].type=="checkbox" || a[i].type=="radio" || a[i].type=="text"|| a[i].type=="button") a[i].readOnly=true;
}
var b = document.getElementsByTagName("select");
for (var i=0; i<b.length; i++)
{
b[i].readOnly=true;
}
}
</script>
java类似的可以使用apache wicket实现
对于普通的页面可以,但是对于有些控件是动态生成的就不行,如:
<td>
<%
while (checkItemRs.next()) {
%>
<input type="checkbox" name="cyxm" value="<%=checkItemRs.getString("categoryno")%>">
<%=checkItemRs.getString("categoryname")%>
<%
}
%>
</td>
对于普通的页面可以,但是对于有些控件是动态生成的就不行,如:
<td>
<%
while (checkItemRs.next()) {
%>
<input type="checkbox" name="cyxm" value="<%=checkItemRs.getString("categoryno")%>">
<%=checkItemRs.getString("categoryname")%>
<%
}
%>
</td>
直接把这个方法在onload里面调用,这是画面已经加载完成了。apache wicket这个是个框架,有兴趣的情况下可以了解一下
对于普通的页面可以,但是对于有些控件是动态生成的就不行,如:
<td>
<%
while (checkItemRs.next()) {
%>
<input type="checkbox" name="cyxm" value="<%=checkItemRs.getString("categoryno")%>">
<%=checkItemRs.getString("categoryname")%>
<%
}
%>
</td>
直接把这个方法在onload里面调用,这是画面已经加载完成了。apache wicket这个是个框架,有兴趣的情况下可以了解一下
不对吧,页面加载顺序首先是onload,然后是javascript,然后就是body,把刚刚你说的方法放在onload里面怎么行,而且我刚刚试了也是不行的。
这就是画面加载完成了
实在不行,把你的js 写在文档最下面。动态那些解析完成。
实在不行,把你的js 写在文档最下面。动态那些解析完成。试过了,不行。