1, 删除试题后页面留在当前页。
用jquery在前端把指定元素删除。
function del_test(){
$.ajax({
url : '<%=basePath%>test/delItems.do',
dataType : 'text',
type : 'post',
data :"id="+$("#uid").val()+"&sid="+$("#usid").val(),
success : function(data) {
if (data=="success") {
$('#del').modal('hide');
$("tr[tid="+$("#uid").val()+"]").remove();
alert("删除成功");
//window.location.href="<%=basePath%>test/getItems.do";
}else{
alert("删除失败");
}
}
});
}
二、删除成功后跳转到页面
function del_test_all(){
$.ajax({
data :"kemuid="+$("#kemuid").val()+"&ttypes="+$("select[name='ttypes']").val()+"&ctypes="+$("select[name='ctypes']").val()’
url : '<%=basePath%>test/del_items_all.do',
dataType : 'text',
type : 'post',
success : function(data) {
if (data=="success") {
$('#del_all').modal('hide');
alert("删除成功");
window.location.href="<%=basePath%>test/getItems.do";
}else{
alert("删除失败");
}
}
});
}
2.jquery的ajax方法
返回的数据类型
dataType:’text’ 返回是个字符串 out.print(“success”);
dataType:’json’ 返回的是json数组 out.print(array);
在后台将得到的list转化为json数组 :
JSONArray array = JSONArray.fromObject(list);
在前端对json数组的处理:
Success:function(data){
if(data.length>0) {
for(var i=0; i<data.length; ++i){
Var optVal = “<option value=’”+ data[i].sid +”’ ”;
optVal += “>” + data[i].name +”</option>”;
$(“#sel1”).append($(optVal));
}
}
}
3.js中json对象与字符串的相互转换
1:jQuery插件支持的转换方式
代码如下:
$.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符串转换成json对象
反过来,使用 serialize 系列方法:如:var fields = $("select, :radio").serializeArray();
2:浏览器支持的转换方式(Firefox,chrome,opera,safari,ie9,ie8)等浏览器
代码如下:
JSON.parse(jsonstr); //可以将json字符串转换成json对象
JSON.stringify(jsonobj); //可以将json对象转换成json对符串
注:ie8(兼容模式),ie7和ie6没有JSON对象,需要引入 json.js 或 json2.js。
3:Javascript支持的转换方式
eval('(' + jsonstr + ')'); //可以将json字符串转换成json对象,注意需要在json字符外包裹一对小括号
注:ie8(兼容模式),ie7和ie6也可以使用eval()将字符串转为JSON对象,但不推荐这些方式,这种方式不安全eval会执行json串中的表达式。
4:JSON官方的转换方式
http://www.json.org/,提供了一个json.js,这样ie8(兼容模式),ie7和ie6就可以支持JSON对象以及其stringify()和parse()方法;
4.js中的全局变量
Var sidList = []; 全局变量数组
对数组的操作:
sidList.push(value);(js中方法不会自动弹出)
对js数组的遍历:for(var i=0; i<sidList.length; ++i){
alert(sidList[i]);
}
Js的全局变量在当前window开辟一块区域,当页面刷新、跳转,全局变量内容就没了
5.js中全局变量和局部变量
Javascript在执行前会对整个脚本文件的声明部分做完整分析(包括局部变量),从而确定实变量的作用域。
1. <script>
2. var a =1;
3. function test(){
4. alert(a); //a为undefined! 这个a并不是全局变量,这是因为在function scope里已经声明了(函数体倒数第4行)一个重名的局部变量,
5. //所以全局变量a被覆盖了,这说明了Javascript在执行前会对整个脚本文件的定义部分做完整分析,所以在函数test()执行前,
6. //函数体中的变量a就被指向内部的局部变量.而不是指向外部的全局变量. 但这时a只有声明,还没赋值,所以输出undefined。
7. a=4
8. alert(a); //a为4,没悬念了吧? 这里的a还是局部变量哦!
9. var a; //局部变量a在这行声明
10. alert(a); //a还是为4,这是因为之前已把4赋给a了
11. }
12. test();
13. alert(a); //a为1,这里并不在function scope内,a的值为全局变量的值
14. </script>
6.表单提交的方法
提交时,设置form的action和methods属性,然后利用form.submit()函数提交
7.jsp页面中的注释
<%-- 注释内容 --%>:JSP页面中的隐藏注释。是为 了程序设计和开发人员阅读程序的方便,增强程序的可读性。
<!-- 注释内容 --> :jsp页面中的html注释。 当它出现在JSP页面时,微蘑菇将不被原样地加入JSP响应中,而且将出现在生成的HTML代码中,此代码将发送给浏览器;然后有浏览器负责忽略此 注释。由于 HTML注释不是简单地被JSP忽略,因此它们可以包含内嵌的动态内容。HTML注释内的JSP表达式将被计算和执行,并送给浏览器的响应。
8.增强的for循环
for(Testitems t : itemsList) 定义一个对象 然后迭代你要循环的对象!
9. 后台Control的java处理程序:
request.setAttribute("pb", pb);
request.setAttribute("itemsList", itemsList);设置键值对
在前端jsp页面,可以通过jquery取到,当做对象直接使用。
<li><a href="javascropt:;">共${pb.pageCount}页</a></li>
<c:forEach var="t" items="${itemsList }" varStatus="status">
10.<a> 标签的 href 属性可以是 URL或者 JavaScript 代码段
<li><a href="javascript:setVal(4)">4</a></li>
<li><a href="javascropt:;">共${pb.pageCount}页</a></li>
JavaScript:;表示这是个空连接,点击不进行跳转