JavaScript零散知识(一)
1.JavaScript获取复选框的值
<div class="select_authority">
<input type="radio" id="checkbox_user" name="authority" class="checkbox_user" value="1" checked>
<label for="checkbox_user">普通用户</label>
<input type="radio" id="checkbox_adm" name="authority" class="checkbox_user" value="2">
<label for="checkbox_adm">管理员</label>
<input type="radio" id="checkbox_sup" name="authority" class="checkbox_user" value="3">
<label for="checkbox_sup">超级用户</label>
</div>
JavaScript获取值的方法:
var authArry= document.getElementsByName("authority"); // 获取checkbox对象,是一个数组对象
alert(authArry);
var auth= ""; //用于存储已选择的选项值
for (var i = 0; i < authArry.length; ++i) { //遍历数组中的对象,查看有没有被选择的值
if (authArry[i].checked) { //checked代表被选择
auth= authArry[i].value; //把被选择的数据复制给auth变量
}
}
if (auth== "") { //auth为空代表没有选择
alert("plece choose one!!");
} else {
alert(auth);
}
JavaScript函数里面调用jQuery对象需要加引号
例如:
(1)JavaScript使用$.ajax({});时需要引入jQuery的文件,否则会报错或者没有反应
(2)ajax发送数据的时候使用formdata格式时,需要在Ajax里面加入
contentType: false,
processData: false,
否则也会报错或者出现程序没反应
(3)formdata传输一个数组,例子:
1 formadata.append('tags','111'); 2 formadata.append('tags','222'); 3 4 $.ajax({ 5 url:'/dataItem/test1.action',//第一个‘/’必须加上,否则会出现路径出错 6 type:'post', 7 data:formdata, 8 contentType: false, 9 processData: false, 10 success:function () { 11 alert("success"); 12 13 }, 14 });
1 @RequestMapping(value = "test1",produces={"application/json;charset=utf-8"},method = RequestMethod.POST ) 2 @ResponseBody 3 public String test1(@RequestParam(value = "tags",required = false)String[] tags, 4 HttpServletRequest request){ 5 System.out.println(tags[0]); 6 Map<String,String> ret = new HashMap<String,String>(); 7 ret.put("type","ok"); 8 JSONObject jsonObject = JSONObject.fromObject(ret); 9 String result = jsonObject.toString(); 10 return result; 11 }
JavaScript读取xml文件报错load not a function
原因:有的浏览器不支持load这个函数
解决办法,下面这个代码基本上兼容主流的浏览器
loadXML = function(xmlFile){ var xmlDoc=null; var agent = navigator.userAgent.toLowerCase(); //判断浏览器的类型 //支持IE浏览器 if(agent.indexOf("msie") > 0){ alert("22"); var xmlDomVersions = ['MSXML.2.DOMDocument.6.0','MSXML.2.DOMDocument.3.0','Microsoft.XMLDOM']; for(var i=0;i<xmlDomVersions.length;i++){ try{ xmlDoc = new ActiveXObject(xmlDomVersions[i]); break; }catch(e){ } } } //支持firefox浏览器 else if(agent.indexOf("firefox") > 0){ try{ xmlDoc = document.implementation.createDocument('','',null); }catch(e){ } } else{//谷歌浏览器 alert("111111111"); var oXmlHttp = new XMLHttpRequest() ; oXmlHttp.open( "GET", xmlFile, false ) ; oXmlHttp.send(null) ; return oXmlHttp.responseXML; } if(xmlDoc!=null){ xmlDoc.async = false; xmlDoc.load(xmlFile); } return xmlDoc; } function parseXML(){ var xmlDoc = loadXML("C:/Users/hejia/Desktop/new/test.xml"); name=xmlDoc.getElementsByTagName("name")[0].childNodes[0].nodeValue; }