控制jsp页面所有控件只读(按钮、输入框等)
/// <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);
}
}
<script language=javascript>
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>
是画面加载完成后才执行onload吧,要不就使用document.readyState != "complete"判断一下试试
我在onload方法里面alert(document.readyState);提示框信息:complete
是画面加载完成后才执行onload吧,要不就使用document.readyState != "complete"判断一下试试
我在onload方法里面alert(document.readyState);提示框信息:complete