明天到公司先看下,原先李实现的直接
var tmp = frame ;//frame_document.getElementById("fileUploadFrame");
tmp.focus();
var ifWin = tmp.contentWindow || tmp;
ifWin.print();
是否有效果。。
var obj = getElementsByName(frame);// script中写getElement是可能失败的,应该放到onload事件中实现
getElementByName不存在
只有getElement__S__ByName 和 getElementById
byId的时候,会根据html元素的id属性,根据规范id应当是唯一的,用来标示一个element,比如<td>, <div> ......。所以返回唯一元素句柄或者null。对于表单控 件<input><select><textarea>等,在不指定id的时候,name也会被视作id,比 如<input type="text" name="abc" value="123">也可以用document.getElementById("abc")来获取
而byName,从名字上看,就可以知道,它返回的是复数个对象。它根据name属性(name可以重复),得到所有name属性与参数相同的控件组成的数组,不存在时,返回0长度数组(.length == 0,而不是null)
getelementsbytagname:返回的也是数组,不过,他要的是标签,如getelementsbytagname("table") 返回的是所有以table为标签组合的一个数组,如getelementsbytagname("table")[0]代表第一个表格.
比如
<input type="text" name="abc" value="1">
<input type="text" name="abc" value="2">
<input type="text" name="abc" value="3">
var array = document.getElementsByName("abc");
if (array.length == 0) {
alert("Error");
return;
}
for (var i = 0; i < array.length; i++) {
alert(array[i].value);
}