html格式写错了 把<form>标签去掉
解决方案 »
- 讨论变量初始赋值的好处
- extjs editorgridpanel中使用combox问题
- jquery为什么移动到行上面只能去掉class而不能把另一个class加上去
- input的onkeydown ,onkeyup,onpropertychange
- 读取网页内容时显示图片,读取完毕后显示网页内容如何实现?
- 怎么样在网页中直接打开office文件,而且不能让人保存,只能看
- 浮动菜单上点击,弹出一个页面.如果这个页面已经存在,它不会自动浮动到屏幕的最前端
- 输入框输入的中文信息用来修改数据库的一个字段时,要先判断一下长度,请问如何判断?
- 请教!如何让input控件、list控件enable和disable。
- 在IE浏览器的控制台,用jquery来获取页面上的数据,碰到的问题
- JS弹出新窗口,但是不想看到弹出的页面,怎么实现?
- firefox 下调用 activex 问题
alert(document.getElementById("a2").value);
而 div 是不存在 width 这个属性的,所以:
alert(document.getElementById("a1").width); 是不正确的。
alert(a2.value)//取的里面值HTML里取值一般用document.getElementById("a2").value;取的里面的值
在HTML 里有2种属性 1,HTML本身属性(ID.属性名) 2:自定义属性: a2的value其实就是自定义属性(document.getElementById("ID").属性名)
给你举简单例子
<body>
<div id="a1" width="50px">
<form>
<input type="text" id="a2" value="14589" aaaa="asdasdasdasdasdasdasd">
</form>
<script>
alert(a1.width);
//我想取我自定义的aaaa属性的值就必须
alert(document.getElementById("a2").aaaa);
</script>
</body>
输出的值:50PX 和 asdasdasdasdasdasdasd
<div id="a1" width="50px">
<form>
<input type="text" id="a2" value="14589">
</form>
<script>
alert(window.a1.width); // 第1个没问题
alert(window.a2.value); // 一把大叉叉
</script>
</body>
而正确的是:<body>
<div id="a1" width="50px">
<form>
<input type="text" id="a2" value="14589">
</form>
<script>
alert(window.a1.width); // 第1个没问题
alert(window.document.forms[0].a2.value); // alert(document.form[0].a2.value);实际上就可以了,或者就像1F说的,把<form>去掉,那你写法就对了
</script>
</body>
而a2在DOM结构上多了一层,在window下只有form对象,即向上面那样写实际上是window.a2所以找不到,应为window.form的name.a2,
可能表述的不好,大体上就是一个树形结构
这种写法不符合W3C标准,不建议使用的
另,最好还是用getElementById标准些
应该是window.document.a1.width和window.document.a1.width.a2.value
但是a2在form里,所以document底下没有a2这个对象,所以就访问不到了
应该这样form1.a2.value当然这样的访问方式需要设置那么属性
都可以通过window.XXX或者self.XXX访问到,当然,一般省略不写
window下面是document,document是作为window的属性,它又有自己的属性
就是定义在它里面的那些东西了,而form恰好又是document的属性,form下面定义的表单元素
是不是form自己的属性?关系推过来不就是:window.document.forms[0].a2
然而你什么都不写就是:window.a2,它当然不认识了