`
frank1998819
  • 浏览: 752245 次
  • 性别: Icon_minigender_1
  • 来自: 南京
文章分类
社区版块
存档分类

js 将checkbox, radio, select控件设置为只读不可选(转)

    博客分类:
  • JS
 
阅读更多

1 <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].disabled=true;  
        }  
        var   b   =   document.getElementsByTagName("select");  
        for   (var   i=0;   i<b.length;   i++)  
        {  
              b[i].disabled=true;  
        }  
}  
</script>  
<input   type=button   value="失效"   onclick=dis()>

注:失效的checkbox,radio等提交后得到的是空值,不管是否选择了

2 <select     onchange="selectedIndex=2">  
<option   value=1>1</option>  
<option   value=2>2</option>  
<option   value=3   selected>3</option>  
<option   value=4>4</option>  
</select>  
<input   type=checkbox   checked   onclick="checked=defaultChecked">  
<input   type=radio   onclick="checked=defaultChecked">

22<input   type="radio" name="ss" checked onclick="checked=defaultChecked">
<input   type="radio" name="ss" onclick="document.forms[0].ss[0].checked=true">
<input   type="radio" name="ss" onclick="document.forms[0].ss[0].checked=true">
   


3 如何将JSP中RadioBox设为不可选状态,并且不变灰
关键字: radiobox不可选并且不变灰
试过了onchange,onclick事件都不好使。(不用 disabled="true"的情况下)
比如:onclick="JavaScrirpt: return false;"
结果是确实不可以重新选中一组RadioBox中的其它 单选钮,但是页面加载时的初始选中的 单选钮 会被置为 未选状态(只要你点击了其它radiobox)。
onchange="JavaScript:if(this.checked) {this.checked = false;} else{this.checked = true;}" 也有问题,不好解决。
而加一种方法是用 disabled="true" 后再更改 radiobox的CSS样式。
可结果我发现只能改变 背景 没办法改变 前景色(即radiobox始终是灰的。)

这种问题当然我要是用大段的逻辑代码来控制当然是可以实现的,但我不愿那样做,太没必要了。
请高手们指点呀。
//******************************************************************************************
<script language="javascript">
function resumeRadio(radioId, radioName, hidId) {
var radioObj = document.getElementById(radioId);
radioObj.checked = !radioObj.checked;
var radioObjGroup = document.forms[0].elements(radioName);
var groupIdx = document.getElementById(hidId).value;
if (groupIdx.length > 0) {
radioObjGroup[parseInt(groupIdx)].checked = true;
}
}
</script>

<input type="hidden" name="familyTypeIndex" id="familyTypeIndex" value="" />
<logic:iterate id="familytyps" name="FamilyForm" property="diagnosisUnitOptions" indexId="index">
<bean:define id="codeValue">
<bean:write name="familytyps" property="code" />
</bean:define>
<logic:equal name='FamilyForm' property='familyBasics.familyType' value='<%= (String)pageContext.getAttribute("codeValue") %>'>
<script language="JavaScript">
document.getElementById("familyTypeIndex").value = "<%= index %>";
</script>
</logic:equal>
<html:radio property='familyBasics.familyType' styleId='radioFamilyType<%= index %>' value='<%= (String)pageContext.getAttribute("codeValue") %>' onclick='resumeRadio(this.id,this.name,"familyTypeIndex")'/>
<bean:write name="familytyps" property="codeName" />
</logic:iterate>

都弄成这样了,还是不行。
老说这里有语法错误,我真的搞不懂了
onclick='resumeRadio(this.id,this.name,"familyTypeIndex")'
我把this.id,this.name换成相应的 字符串形式也不行。
//******************************************************************************************
奶奶地,终于好了。
注意这句的写法
<html:radio property='familyBasics.familyType' value='<%= (String)pageContext.getAttribute("codeValue") %>' onclick="resumeRadio(this.id,this.name,'familyTypeIndex')" styleId='<%= "radioFamilyType" + index %>' />
这里面的'familyTypeIndex'一定要用单引号包围。
resumeRadio(this.id,this.name,'familyTypeIndex')

分享到:
评论

相关推荐

    JS禁用页面上所有控件的实现方法(附demo源码下载).docx

    - 其他类型的输入框,如`CHECKBOX`、`RADIO`等,直接设置`disabled`属性为`true`。 3. `TEXTAREA`元素:调用`ReadonlyText`函数使其变为只读。 4. `BUTTON`元素:根据`blnHidenButton`的值决定是否隐藏,但不设置`...

    ExtAspNet v2.2.1 (2009-4-1) 值得一看

    -使用Hidden来显示隐藏ExtAspNet控件,而不是使用Visible属性(Visible目前设置为只读属性)。 -使用Hidden控制Window控件的显示隐藏,Popup已经标记为Obsolete属性。 -Window的实例方法GetCloseReference等以及...

    ExtAspNet_v2.3.2_dll

    -使用Hidden来显示隐藏ExtAspNet控件,而不是使用Visible属性(Visible目前设置为只读属性)。 -使用Hidden控制Window控件的显示隐藏,Popup已经标记为Obsolete属性。 -Window的实例方法GetCloseReference等以及...

    HTML 表单.pdf

    其基本语法结构是:&lt;input type="checkbox" name="interest" value="sports" /&gt;,其中 type="checkbox" 指定了输入控件的类型为复选框,name="interest" 指定了输入控件的名称,value="sports" 指定了选项的值。...

    HTML基础控件介绍_动力节点Java学院整理

    `&lt;input&gt;`的`type`属性可以根据不同的值定义多种输入类型,如`text`(文本输入)、`password`(密码输入,字符以星号显示)、`checkbox`(复选框)、`radio`(单选按钮)、`reset`(重置按钮)、`submit`(提交按钮...

    html入门到放弃笔记

    1、创建一个 div 标记 ,增加属性 ,设置 align 属性的值为 center ,设置 id 属性的值为 container,设置 title 属性的值为 这是一个div 这是一个div"&gt; 四大标准属性: 1、id :定义元素在页面中独一无二的...

    HTML对象简介

    - **ReadOnly**: 只读属性,如果设置为`true`,则该字段不可编辑。 - **Type**: 类型属性,用于指定对象的类型,如`text`, `password`, `radio`等。 - **Disabled**: 禁用属性,如果设置为`true`,则对象被禁用,...

    Form元素总结.doc

    12. `checkbox`、`radio`:多选和单选按钮,`checked`属性用于预设选项。 **Input属性** 1. `type`:定义输入类型。 2. `name`:定义控件的名称。 3. `value`:设置初始值。 4. `maxlength`:限制输入的最大字符数...

    CSS3网页知识.doc

    1. `input`:不同类型的输入控件,如`text`(文本)、`password`(密码)、`radio`(单选按钮)、`checkbox`(复选框)、`button`(普通按钮)、`submit`(提交按钮)、`reset`(重置按钮)、`file`(文件上传)、`...

    Struts2标签详解及具体实例解析

    1. `&lt;s:checkbox&gt;&lt;/s:checkbox&gt;` - 创建复选框,可以与`&lt;s:checkboxlist&gt;`一起使用,处理多选数据。 2. `&lt;s:checkboxlist list=""&gt;&lt;/s:checkboxlist&gt;` - 多选框,用于显示列表供用户选择。 3. `&lt;s:combobox list=""&gt;...

    htmlcss基础知识.pdf

    `&lt;input&gt;` 标签用于创建各种类型的输入控件,如 `type="text"` 用于文本输入,`type="password"` 用于密码输入,还有 `radio`(单选框),`checkbox`(复选框),`number`,`date`,`file`,`email` 等类型。...

    struct2标签

    - `&lt;s:checkboxlist&gt;`:用于创建一组复选框,通常用于多选。 - `&lt;s:combobox&gt;`:创建下拉列表,支持AJAX交互。 D. 日期与时间处理: - `&lt;s:date&gt;`:格式化日期。 - `&lt;s:datetimepicker&gt;`:提供日期和时间选择器。 ...

    web_form_form_ css

    - **复选框**:`&lt;input type="checkbox"&gt;`,允许用户选择多项。 - **属性**:与单选按钮类似,但不存在`name`属性的限制。 - **提交按钮**:`&lt;input type="submit"&gt;`,用于提交整个表单。 - **属性**:`value`...

    html的表单注册信息的一部分啊.txt

    - **`readonly="readonly"`**:表示这个输入框是只读的,用户不能修改其内容。 #### 3.3 密码框 ```html &lt;tr&gt;&lt;td&gt;&lt;label for="mm"&gt;&lt;/label&gt; &lt;td&gt;&lt;input type="password" name="pas" maxlength="5" placeholder=""/...

    struts2标签详细讲解

    1. `&lt;s:checkbox&gt;`:创建复选框,支持列表和单个复选。 2. `&lt;s:checkboxlist&gt;`:用于创建多个复选框,基于提供的列表数据。 3. `&lt;s:combobox&gt;`:生成下拉选择框,可以通过Ajax动态填充数据。 D. 其他辅助标签: 1. ...

    html+css基础知识.docx

    `&lt;input&gt;`标签用于创建各种类型的输入控件,如`type="text"`(文本)、`type="password"`(密码)、`type="radio"`(单选框)、`type="checkbox"`(复选框)、`type="number"`(数字)、`type="date"`(日期)、`...

    struts2标签介绍

    1. `&lt;s:radio&gt;` - 单选按钮,可以设置列表,如:`&lt;s:radio list="myList" name="selectedItem" /&gt;`。 2. `&lt;s:reset&gt;` - 创建重置按钮,清除表单数据。 **S组标签:** 1. `&lt;s:select&gt;` - 创建下拉选择框,可以绑定到...

Global site tag (gtag.js) - Google Analytics