1.javaScript等脚本语言是不能访问本地文件的,虽然在本机上的一些基于file:///路径或文件路径的html页面中是可以访问本地文件,但这是因为同是本地文件,他们之间是可以访问的!
在XMLHTTP技术中,对于先前的msxml版本的是可以访问本地文件,由于它同时也是一个安全漏洞,已经有相关的包或新版的msxml,已经禁止这么操作了!
唯一的解决方案是把需要处理的文件上传到服务器,然后返回到客户端,然后由脚本语言处理。
2.对于innerHTML而言,它不是字符串,用字符串的加法是没有办法使之成为xml字符流。
处理的办法:1)可以把innerText=innerHTML,然后用innerText来得到该字符流,但要把innerHTML中的“(在提取innerHTML,他也会把‘变成“)改为‘才可以!
例: var XMLStr=new String(XMLFileInfo.innerHTML);
XMLStr=XMLFileInfo.innerText;
XMLFileInfo.innerText="";
alert(XMLStr);
XMLStr=""+XMLStr+"";
XMLStr = XMLStr.replace(/\"/g, "'");
2)用var str=new String(div.innerHTML)也可以得到。
3.对于一般的标记,像<span><input>等,通常可以直接用id来标示,然后用idName.attribute来获取和操作它的属性。如果用name来标示,则要从document向下追溯来获取和操作他的属性。 而id是不可以重名,否则无法获取
相关的属性!而name是可以重名的,通常操作第一个。
注意:对于id而言,如果在form中,则要加一层formName.idName.attribute才能行得通!
4.在通过JavaScript来实现对某些表单的验证。(不要用onclick,它没有起到检验作用)
例:
在页面中:<form method="post" action="http://entry.126.com/cgi/login" name="form" onSubmit="return fCheck()">
<input name="domain" type="hidden" value="126.com" />
<input name="code" type="hidden" value="0" />
</form>
在.js文件中:
function fCheck(){
if( fm.user.value ==""|| fm.code.value=="") {
window.alert("\请输入您的用户名 ?");
fm.user.focus();
return false;
}
else
return true;
}