1.onkeydown:会在用户按下一个按键时发生。
2.$.post()方法不能直接传对象,只能穿对象的参数。要想传对象,可以将对象先序列化成xml或者json数据再传到后台,后台再做解析成对象。
3.serialize():
serialize() 方法通过序列化表单值,创建 URL 编码文本字符串。您可以选择一个或多个表单元素(比如 input 及/或 文本框),或者 form 元素本身。序列化的值可在生成 AJAX 请求时用于 URL 查询字符串中。
语法:
$(selector).serialize()
例子:
4.
- <span style="font-family:SimSun;font-size:18px;"><body>
- <a href="addStudent.action" class="a_post">提交</a>
- <script>
- $(".a_post").on("click",function(event){
- event.preventDefault(); // 使a自带的方法失效,即无法向addStudent.action发出请求
- $.ajax({
- type: "POST", // 使用post方式
- url: "addStudent.action",
- contentType:"application/json",
- data: JSON.stringify({param1:value1, param2:value2}), // 参数列表,stringify()方法用于将JS对象序列化为json字符串
- dataType:"json",
- success: function(result){
- // 请求成功后的操作
- },
- error: function(result){
- // 请求失败后的操作
- }
- });
- });
- </script>
- </body></span>
5.jquery的hide()和show()方法, http://www.w3school.com.cn/jquery/jquery_hide_show.asp
6.获取选中的单选框的值:var val=$('input:radio[name="sex"]:checked').val();
获取某标签下所有的标签:$("#id *"),其中id为该标签。
7.手动将数据转json:
$.fn.serializeJson = function(){ var jsonData1 = {}; var serializeArray = this.serializeArray(); // 先转换成{"id": ["12","14"], "name": ["aaa","bbb"], "pwd":["pwd1","pwd2"]}这种形式 $(serializeArray).each(function () { if (jsonData1[this.name]) { if ($.isArray(jsonData1[this.name])) { jsonData1[this.name].push(this.value); } else { jsonData1[this.name] = [jsonData1[this.name], this.value]; } } else { jsonData1[this.name] = this.value; } }); // 再转成[{"id": "12", "name": "aaa", "pwd":"pwd1"},{"id": "14", "name": "bb", "pwd":"pwd2"}]的形式 var vCount = 0; // 计算json内部的数组最大长度 for(var item in jsonData1){ var tmp = $.isArray(jsonData1[item]) ? jsonData1[item].length : 1; vCount = (tmp > vCount) ? tmp : vCount; } if(vCount > 1) { var jsonData2 = new Array(); for(var i = 0; i < vCount; i++){ var jsonObj = {}; for(var item in jsonData1) { jsonObj[item] = jsonData1[item][i]; } jsonData2.push(jsonObj); } return JSON.stringify(jsonData2); }else{ return "[" + JSON.stringify(jsonData1) + "]"; } };
8.用jq选择器获取某个标签对象时,若该id不存在,js代码执行到那一行就会停止,不继续执行下面的代码
9.$(document).ready(function(){});在页面加载外部资源和图片之前执行。
10.浏览器报错误:$.widget is not a function;解决方案:添加<script type="text/javascript" src="JS/jquery-ui.min.js"></script>,但是要放在jquery核心的js后面。
11.Math.floor(x),参数为一个数字,返回值为小于或等于参数数字的最大整数的数字。输入2.9,输出2。
12.如何用原生js中取出后台返给页面的json中的数据?
13.jquery中ajax的返回值如何传递到上一层函数中,将ajax的async设置成false;
async:false,//同步:意思是当有返回值以后才会进行后面的js程序。
14.select框的选中
误区:
一直以为jquery获取select中option被选中的文本值,是这样写的:
$("#s").text(); //获取所有option的文本值
实际上应该这样:
$("#s option:selected").text(); //获取选中的option的文本值
获取select中option的被选中的value值,
$("#s").val();
$("#s option:selected").val();
js获取select选中的值:
var sel=document.getElementById("select1");
var index = sel.selectedIndex; // 选中索引
albumid= sel.options[index].value;//要的值
html
<center>:对其所包括的文本进行水平居中。HTML5 不支持 <center> 标签,HTML 4.01 已废弃该标签。
<li>:定义项目列表,可用在有序列表<ol>和无序列表<ul>中。
14.在ajax的中实现页面跳转:
window.location.href = '你的跳转的目标地址';
15.el表达式判空:<c:if test="${empty 对象}">,<c:if test="!${empty 对象}">
16.用js延迟加载某一方法:
function refreshPage()
{
window.location.reload();
}
window.setTimeout(refreshPage,3000);
17.button标签没有hidden属性,可以通过style的display来控制显示
18.上传图片后显示图片功能:
可以加一个section,imgbox1是section的id,例子:prev()表示取前一个元素
$("#imgbox1").html('<img src="/cn.com.agree.open/upload'+developerIdPicFrontUrl+'" height="200" width="200" style="margin:0px 0px 10px 10px;"/><span id="developerIdPicFront_span" class="Validform_checktip Validform_wrong"></span>');
$(".Validform_wrong").click(function(){
$(this).prev().remove();
$(this).remove();
})
上面的代码只会显示一张图片,如果要显示多张图片,把html换成append
19.使用img标签显示图片时,发现路径拼对了还是访问不了,可以在tomcat中配置虚拟路径:
加<Context docBase="D:\home\open\upload\imgs" path="/img" reloadable="true"/>,举个例子:path中可以写img的src中的路径,而docBase就是磁盘的路径(不论是在window还是linux下)。
20.用原生js获取select框中某个选中option的值:this.options[this.options.selectedIndex].value,可以放在onChange等函数里面当参数。
将select中option清空:document.getElementById("select").options.length = 0;
21.
jquery 中,对元素的属性赋值,常见的错误是:
$('#uid').attr('value')=id;
这种错误的写法会导致浏览器报错:
referenceerror: Invalid assignment left-hand side
正确的写法应该是:
$('#uid').attr('value',id);
22.
window.location.reload()
//刷新
window.history.go(1)
//前进
window.history.go(-1)
//后退
window.history.forward()
//前进
window.history.back() 后退+刷新
23.el表达式获取list长度:${fn:length(list)}
24.实现点击按钮复制文本的功能:
浏览器提供了 copy 命令 ,可以复制选中的内容
document.execCommand("copy")
如果是输入框,可以通过 select() 方法,选中输入框的文本,然后调用 copy 命令,将文本复制到剪切板
但是 select() 方法只对 <input> 和 <textarea> 有效,对于 <p> 就不好使
例子:$("#appPrivateKey").select();document.execCommand("copy");
25.实时监听输入框的变化:
$('#appPublicKeyVMode').bind('input propertychange', function() {
代码
});