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; } 
|