关于FORM表单元素NAME和ID的获取问题
2011-04-22 09:53
344 查看
我们经常会碰到这样的情况,
当我们选择了复选框时按钮才能点击,不然就是禁用,这是一个很觉的问题,但是里面包含了一个细节。
在实现这个功能的时候我们一般会使用javascript脚本,如:
<script language="javascript">
if(document.getElementById("复选框ID").checked){
document.getElementById("按钮ID").disabled=true;
}
if(document.getElementById("复选框ID").checked==false){
document.getElementById("按钮ID").disabled=false;
}
</script>
但是这个方法不一定可以实现类似功能,例如网页代码是这样的时候:
。。。。。
<input type="checkbox" name="a" checked id=”checkbox1”>我认真阅读并接受以上协议。</br>
经验:</br>
<select name="jingyan">
<option value="" selected>无经验</option>
<option value="0" >有经验</option>
</select>
<p><input type="reset" name="reset" value="重置"/>
<input name="deng" type="submit" id=”submit” value="提交" disabled/></p>
。。。。。
原因是因为,当表单元素的name和id的值不一样的时候浏览器是不能识别的,只是当他们的值一样的时候他才能准备找到。
表单的name与id其实都是为了标记对象名称,资料显示: 它们所不同的是:name是Netscape的、id是Microsoft的。为了能够兼容,name和id必须设置成一样也是可以理解的了!id就像是一个人的身份证号码,name就是他的名字,显然,id是不可以重复的,而name是可以重复的.在表单的接收页面只接收有name的元素。例如:request.Form("aa"),其中aa是提交页面中某个元素的name属性值。所以通过表单接收到的不是id值,而是name值。
顺便说明一下:
1.表单元素(form input textarea select)与框架元素(iframe frame)用name。
2. 只能赋ID不能赋name的元素:(除去与表单相关的元素都只能赋ID)
body li a table tr td th p div span pre dl dt dd font b 等等
当我们选择了复选框时按钮才能点击,不然就是禁用,这是一个很觉的问题,但是里面包含了一个细节。
在实现这个功能的时候我们一般会使用javascript脚本,如:
<script language="javascript">
if(document.getElementById("复选框ID").checked){
document.getElementById("按钮ID").disabled=true;
}
if(document.getElementById("复选框ID").checked==false){
document.getElementById("按钮ID").disabled=false;
}
</script>
但是这个方法不一定可以实现类似功能,例如网页代码是这样的时候:
。。。。。
<input type="checkbox" name="a" checked id=”checkbox1”>我认真阅读并接受以上协议。</br>
经验:</br>
<select name="jingyan">
<option value="" selected>无经验</option>
<option value="0" >有经验</option>
</select>
<p><input type="reset" name="reset" value="重置"/>
<input name="deng" type="submit" id=”submit” value="提交" disabled/></p>
。。。。。
原因是因为,当表单元素的name和id的值不一样的时候浏览器是不能识别的,只是当他们的值一样的时候他才能准备找到。
表单的name与id其实都是为了标记对象名称,资料显示: 它们所不同的是:name是Netscape的、id是Microsoft的。为了能够兼容,name和id必须设置成一样也是可以理解的了!id就像是一个人的身份证号码,name就是他的名字,显然,id是不可以重复的,而name是可以重复的.在表单的接收页面只接收有name的元素。例如:request.Form("aa"),其中aa是提交页面中某个元素的name属性值。所以通过表单接收到的不是id值,而是name值。
顺便说明一下:
1.表单元素(form input textarea select)与框架元素(iframe frame)用name。
2. 只能赋ID不能赋name的元素:(除去与表单相关的元素都只能赋ID)
body li a table tr td th p div span pre dl dt dd font b 等等
相关文章推荐
- PHP 表单元素NAME和ID的获取问题
- 关于Jquery 获取表单FORM所有元素进行AJAX提交
- firefox下JS动态创建的form表单元素获取不到值的问题
- 关于在用curl函数post网页数据时,遇上表单提交 type为submit 类型而且没有name和id时可能遇到的问题及其解决方法
- 尽量不要用常用的属性名或方法名做form表单内元素的名字name或id
- 关于form表单的相同name问题
- 使用jQuery时Form表单元素ID和name命名大忌
- 给自己提个醒:关于document.getElementsByName无法获取非表单元素
- 关于JS获取不到动态创建的元素的id的问题
- 使用jQuery时Form表单元素ID和name命名大忌
- 关于FORM下的表单提交问题
- 关于GPL329A中获取摄像头sensor id的问题
- form 的 encoding设置不当导致在jsp中使用request.getParametre(paraName)无法获取表单提交的值
- 关于“button”标签元素的获取问题
- jquery 根据name获取元素的问题
- form表单提交服务器,数据获取乱码问题
- Servlet第三方jar包使用3(Servlet获取form表单中的多有元素以及,请求转发,请求重定向,请求包含)
- struts-spring-hibernate 框架 action 请求 ,form 表单提交 id 重复问题
- Jquery 获取表单FORM所有元素进行AJAX提交
- 用document.forms[formname].elements[elementname].value获取FORM元素的value--测试通过