a标签 href对onclick调用ajax的影响

今天遇到了一个问题,就是onclick调用ajax 的时候,a标签的href属性会对ajax产生影响,所以写了一下代码测了一下,href为“”会出错,#和void(0)没问题,百度了一下,#"包含了一个位置信息,默认的锚点是#top 也就是网页的上端,而javascript:void(0) 仅仅表示一个死链接,不得其解,求解释。。

<script>
    function Test() {
        alert("test");
        $.ajax({
            url:"../test/ajax",
            success:function(data){
                alert("test......."+data);
            },
            error:function(){
                alert("出错啦,请刷新页面,重试");
            },
        });

    }
</script>
<a href="" onclick="Test()" >test href </a>
<a href="#" onclick="Test()" >test href #</a>
<a href="javascript:void(0)" onclick="Test()" >test href void(0)</a>

2个回答

href=""等价于href="当前地址",会导致页面刷新,#和void(0)是死链接,不做任何操作,#多个定位到页头的操作

楼上说的对。 href=""会刷新页面。 其他不会。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
ajax 调用外部函数,外部函数中的ajax不执行
tab(); function tab() { //alert("name:"+name); $("#table") .bootstrapTable({ url: "scol/player.action", method: 'get', //请求方式(*) toolbar: '#formTools', //工具按钮用哪个容器 striped: true, //是否显示行间隔色 cache: false, //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*) pagination: true, //是否显示分页(*) queryParams: function(params) { return { offset: params.offset, limit: params.limit, sname: $('#sname').val(), sposi: $('#sposi').val(), roles: $('#roles').val() }; }, pageSize: 4, //每页的记录行数(*) pageNumber: 1, //初始化加载第一页,默认第一页 pageList: [2, 4, 6], singleSelect: false, showColumns: true, sortable: true, //是否启用排序 sidePagination: "server", //分页方式:client客户端分页,server服务端分页(*) strictSearch: true, minimumCountColumns: 2, //最少允许的列数 clickToSelect: true, //是否启用点击选中行 showRefresh: false, //是否显示刷新按钮 uniqueId: "id", //每一行的唯一标识,一般为主键列 cardView: false, //是否显示详细视图 search: true, strictSearch: true, showColumns: true, showRefresh: true, showExport: true, onLoadError: function(data) { $('#stuinfo').bootstrapTable('removeAll'); }, columns: [{ field: 'id', title: '球员号码' }, { field: 'name', title: '球员姓名' }, { field: 'posi', title: '位置' }, { field: 'cm', title: '身高/CM' }, { field: 'kg', title: '体重/KG' }, { field: 'home', title: '籍贯' }, { field: 'birth', title: '出生日期' }, { field: 'ps', title: '备注' }, /* { field : 'yid', title : '入队时间' }, */ { field: 'year.year', title: '入队时间' }, { title: '状态', field: '', align: 'center', formatter: function(value, row, index) { var s="123"; $.ajax({ url: 'scol/eec.action', type: 'post', data: { pid: row.id }, dataType: 'json', async : false, beforeSend: function(jqXHR, settings) { }, success: function(data3, textStatus) { if(textStatus == "success") { var s1=data3.point[data3.point.length-1]; var s2=data3.point[data3.point.length-2]; if(s1-s2>8){ s="red;'>上升" }else if(s2-s1>8){ s="gray;'>下滑" }else if(s1==null||s2==null) { s="goldenrod;'>未知" } else{ s="lawngreen;'>正常" } } }, error: function(jqXHR, textStatus, errorThrown) { //充当catch(e)的角色 alert("失败!"); } }); var w = "<span style='color:"+s+"</span> "; return w ; } }, { title: '操作', field: '', align: 'center', formatter: function(value, row, index) { var w = '<a href="#" mce_href="#" onclick="detail(\'' + row.id + '\')">详细信息</a> '; var e = '<a href="#" mce_href="#" onclick="edit1(\'' + row.id+'\',\''+row.name+ '\',\'' +row.posi+ '\',\''+row.cm+ '\',\''+row.kg+ '\',\''+row.home+ '\',\''+row.birth + '\',\''+row.ps+ '\',\''+row.yid+ '\',\''+row.tid+ '\')">编辑</a> '; var d = '<a href="#" mce_href="#" onclick="del(\'' + row.id + '\',\''+row.name+'\')">删除</a> '; return w + e + d; } } ], onDblClickRow: function(row, $element) { eechart(row); } }); }; /* 删除 */ function del(pid,pname) { if(confirm("确定删除" + pname + "吗?")){ $.ajax({ url: 'scol/dps.action', type: 'post', data: { pid: pid }, dataType: 'text', /* async : false, */ beforeSend: function(jqXHR, settings) { }, success: function(data3, textStatus) { if(textStatus == "success") { alert("用户删除" + data3); $('#table').bootstrapTable('destroy'); tab(); } }, error: function(jqXHR, textStatus, errorThrown) { //充当catch(e)的角色 alert("删除失败!"); } });} }; ``` ```
关于jquery的datagrid 插件中a标签传值的问题
想做一个"是否删除+名字"的效果 datagrid 页面代码如下: ``` formatter : function(value, rowData, rowIndex) { return "<a href='javascript:del(" + rowData.id + "," + rowData.name + ")'>删除</a>"; }, ``` 引用的function如下: ``` function del(id, name) { alert("进来了"); if (confirm("是否删除编号" + name + "的图书?")) { $.ajax({ url : "delById.action?tbBooks.id=" + id, success : function() { alert("删除成功!!!"); location.href = "index.jsp"; } }); } ; ``` 页面端如上面写,del()方法一点反应都没有,而如果只传入ID 如下: ``` formatter : function(value, rowData, rowIndex) { return "<a href='javascript:del(" + rowData.id + ")'>删除</a>"; } ``` 这样是可以进入del()方法的,而如果只传rowData.name进去,del()方法也是反映的,rowData.name和rowData.id都是有值的,再页面端指着“删除“也能显示 “javascript:del(1,三国志)” 这样的效果,就是点击的话一点反应都没有,是因为rowData.name有问题还是在这里只能传一个参数 ps: 我拿了个button的onclick事件调用del(id,name)方法 却是可行的····
bootstrap模态窗口中调用其他的页面,被调用页面被压缩不能完全显示怎么解决
bootstrap模态窗口中调用其他的页面,被调用页面被压缩不能完全显示怎么解决 <!-- 用户列表模态窗口 --> <div id="userlistModel" class="modal hide fade" data-backdrop="static" > <div class="modal-header" style="height: 20px"> <span style="font-weight: bold">用户信息列表</span> <button type="button" class="close" data-dismiss="modal" > <i class="icon-remove"></i> </button> </div> <div class="modal-body" > <div id="insertDisplayMode"></div> </div> <div class="modal-footer"> <a href="javascript:void(0);" class="btn" onClick="getSelectNodeVaue('1')" data-dismiss="modal" >确认</a> <a href="javascript:void(0);" class="btn" data-dismiss="modal" >关闭</a> </div> </div> <!-- 被调用页面的部分代码 --> <div class="container-fluid" id="userlistStation"> <div class="row-fluid"> <div class="span12"> <div class="widget-box"> <!-- 页签 --> <div class="widget-title" onClick="showQueryDiv()"> <span class="icon"> <i class="icon-th"></i> </span> <h5>用户信息列表</h5> <span class="widgetese"> <a href="${ctx}/letterStationManagement/create" class="tip-left" data-original-title="返回"><i class="icon-share-alt"></i></a> <a href="javascript:void(0)" class="tip-left" data-original-title="查询"><i class="icon-filter"></i></a> </span> </div> <!-- 页签(完) --> <form id="userListForm" class="form-search" action="${ctx}/letterStationManagement/userList" method="post"> <!-- 下面为JQery码 --> //用户列表模态窗 function userModel(dtId){ $('#userlistModel').modal().css({ width: '276px', 'margin-left': function () { return -($(this).width() / 2); }, 'margin-top': function () { return -($(this).height() / 2); } }); $('#dtID').val(dtId); $('#deleteModal').modal().show(); $.ajax({ type:"get", url:"${ctx}/letterStationManagement/userList", dataType:"html", success:function(data,textStatus){ var result=$(data).filter("#userlistStation").html() ; alert(result); $("#insertDisplayMode").html(result); loadingBgRemove(); } }); }
难了,有关ajax的执行问题
今天在jsp页面中这样执行了一个js,在这个js中把数据发送给servlet,可是遇到了一个很奇怪的问题: 在jsp页面中的代码是这样的: 1.<a href="javascript:void(0);" onclick="clearResum()">clearResum</a> 但是js中的clearResum()函数不执行,这个函数的主要功能是把数据发送到后台给servelt处理,也就是没有把数据发送给serlvet。 但是如果改成: 2.<a href=“#" onclick="clearResum()">clearResum</a>,则xmlHttpRequest.status的返回值始终是0,我已经把项目成功发布了,所以应该不存在tomcat的配置问题。 3.如果把 1 中的代码换成 <a href="javascript:clearResum()">clearResum</a>,这个js也始终不执行,而把clearResum()函数换成一个简单的test()函数( 这个函数只有一条alert("") )就可以执行。 4.在 1 中,如果把<a href=“#" onclick="clearResum()">clearResum</a>中的onclick="clearResum()"中的clearResum()函数换成一个简单的test()函数( 这个函数只有一条alert("") )就可以执行。 问题:被搞的很糊涂,非常不理解上述四点描述的问题,特别是第 1 点和第 3点,clearResum()为什么始终不执行,而第 4 点执行后得到的xmlHttpRequest.status的值始终是0?希望哪位兄弟帮忙解答一下,本人感激不尽,先谢谢了!! [b]问题补充:[/b] 谢谢 ham: clearResum() { send("clearResum?p=1"); } send()的方法体主要是建立xmlHttpRequest对象并发送数据和调用handleResponse方法处理服务器的返回信息。 还有,您能不能解释下<a href=" " onclick=" ">中href 和onclick执行js的区别,谢谢关注! [b]问题补充:[/b] 嗯,好,谢谢 ham 的解释,回头我再仔细检查和测试下function send()部分.
IE下ajax调用兼容性问题
今天在开发中遇到一个奇怪的问题,一直没搞明白,希望大家给我支招! 1、我在jsp页面上写 [code="java"]<a href="javascript:void(0);" onclick="jQuery.fn.showComment(uid ,cid)">评论</a>[/code] 2、js代码: [code="java"]<script type="text/javascript"> jQuery.fn.showComment = function(uid,cid){ alert(uid); var url = 'showComment'; var params = { cid : cid }; jQuery.get(url, params, function(data) { }, 'json'); }; </script>[/code] 我在action里对应的方法设了断点,结果在IE下测试,清空历史记录后,第一次点评论,进入debug模式,然后第二次点评论的时候,就进不了debug模式了,请问下,这是什么问题啊???
DWR调用带参数的java方法调试不通
DWR调用带参数的java方法调试不通,代码如下,求帮忙。 ![图片说明](https://img-ask.csdn.net/upload/201510/07/1444224717_677379.png) ///dwr.xml配置 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 3.0//EN" "http://getahead.org/dwr/dwr30.dtd"> <dwr> <allow> <!-- new意味着DWR应当调用类的默认构造函数 --> <create creator="new" javascript="CASCO" scope="application"> <!-- --> <param name="class" value="com.test.ajax.TestDwr"/> </create> <create creator="new" javascript="TEST" scope="application"> <!-- --> <param name="class" value="com.test.ajax.test"/> <include method="Test"/> </create> </allow> </dwr> ///JSP页面 <%@ page language="java" contentType="text/html; charset=GB18030" pageEncoding="GB18030"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=GB18030"> <title>DWR - Test Home</title> <script type='text/javascript' src='dwr/engine.js'></script> <script type='text/javascript' src='dwr/util.js'></script> <script type='text/javascript' src='dwr/interface/CASCO.js'></script> <script language="javascript"> function callTest(){ TEST.Test(callBackForTest); } function callBackTest(data){ //其中date接收方法的返回值 //可以在这里对返回值进行处理和显示等等 alert("the return value is " + data); } </script> <script type="text/javascript"> function download() { window.location.href = "pad_les.apk"; } </script> </head> <body> <h1>向服务器发送信息</h1> <input type="text" id="demo1"> <input type="button" value="提交" onclick="javascript:callTest"> </body> </html> ///class package com.test.ajax; public class test { public test(String a) { System.out.println(a); } }
easyui datagrid用 insertRow 添加的一行数据怎么取出?
![图片说明](https://img-ask.csdn.net/upload/201805/14/1526287869_846582.jpg) datagrid的信息是这样的 ``` $('#dg3').datagrid({width:'100%',height:'100px', columns:[[ {field:'id',title:'ID',width:100}, {field:'loginId',title:'用户名',width:100}, {field:'name',title:'姓名',width:100}, {field:'a',title:'操作',width:100,formatter:function(value,row,index){ return '<a href="#" onclick="editUser('+row.loginId+')">修改</a >/<a href="#" onclick="delUser('+row.id+','+index+')">删除</a>'; },align:'right'} ]] }); ``` editUser函数是这样的 ``` function editUser(loginId){ alert(loginId); } ``` 那一行的数据是通过文本框查询出来的 ``` function chaxun(){ var loginId = $("#text1").val(); //把loginId传到后台 $.ajax({ url:"${basePath}/dba/checkLoginId", type:"post", data:{"loginId":loginId}, dataTypt:"json", success:function(result){ if(result==0){ $("#m3").css({"color":"#00ff00"}).text("用户名不存在"); }else{ console.log(result); var obj = eval('(' + result + ')'); $('#dg3').datagrid('insertRow',{ index: 0, // 索引从0开始 row: { id: obj.id, loginId: obj.loginId, name: obj.name } }); } } }); ``` 我的想法是点击“修改”标签可以调用editUser函数,把loginId显示出来,就是用户名那一列的内容显示出来,现在报的错是editUser(user),user找不到。user就是用户名是通过row.loginId找到的,已经接收到editUser函数里了,为什么会无法输出
JSP中怎样让一个按钮只处理对应行的数据?
``` <% Connection conn=null; Statement stat=null; ResultSet rs=null; Class.forName("com.mysql.jdbc.Driver").newInstance(); String url="jdbc:mysql://localhost:3306/app?user=root&password=000000"; conn=DriverManager.getConnection(url); stat=conn.createStatement(); rs=stat.executeQuery("select * from t_user"); while(rs.next()){ %> <tr align="center"> <td><%= rs.getString("ord") %></td> <td><%= rs.getString("pro") %></td> <td><%= rs.getString("name") %></td> <td><input type="hidden" id="state" value="已处理"> <input type="button" value="处理" onclick="modify()"> </td> </tr> <% }%> <script type="text/javascript"> function modify(){ var ord=$("#ord").val(); var pro=$("#pro").val(); var name=$("#name").val(); var state=$("#state").val(); $.ajax({ url:encodeURI(encodeURI('/application/user/updatestate')), type:'get', cache:false, success:function() { alert("处理成功!"); window.location.href="/application/user/index"; }}); } </script> ``` 以上是我代码的一些片段,后台调用的java方法就不贴出来了,只是比较简单的update方法,而且也并没有实现预想的功能。 我这段代码是从MySql数据库中读取数据,然后依次显示在表格中,预想实现的功能是点击每一行数据后的“处理”按钮后,就将该行数据在数据库中对应的state值改为“已处理”,现在后台方法能够运行,state值也能更改,但是问题是,无论点击哪一行数据后的“处理”按钮,都只会改变第一行数据的state值,对该行数据并不起作用,我就想到用select进行筛选并修改对应值,可是也没有用,请问我预想的这个功能应该如何实现呢?
现在要实现更新功能,怎么将本页面的值带到另外一个新的页面??急急急。。。求大神指点。。
![图片说明](https://img-ask.csdn.net/upload/201712/28/1514441917_897811.png) ![图片说明](https://img-ask.csdn.net/upload/201712/28/1514442367_525718.png) ![图片说明](https://img-ask.csdn.net/upload/201712/28/1514442379_890612.png) ``` <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>炼钢成分分析</title> <meta charset="utf-8"> <title>炼钢成分分析</title> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="css/bootstrap.min.css"> <script src="js/bootstrap.min.js"></script> <script src="js/jquery-3.2.1.min.js"></script> <style> body { position: relative; } #section1 {padding-top:50px;height:700px;color: black; background-color: white;} #section2 {padding-top:50px;height:500px;color: black; background-color: white;} </style> <script type="text/javascript"> //出现本页面数据就同步显示在表格中 $(function(){ TSM_QPM_Q001(); }); //进行一个函数的调用 function TSM_QPM_Q001(){ $.ajax({ url:"http://localhost:8080/MESS/getData", type:"get", datatype:"json", success:function(res){ var htmlStr =''; for(var i=0;i < res.length;i++){ var plo = res[i].proNo; //var wkStationNo = res[i].wkStationNo; htmlStr += '<tr id="myLine_'+res[i].proNo+'">'; htmlStr += '<td><input type="checkbox" id="TQQ" name="chkItem" value ="'+plo+'"></td>'; htmlStr += '<td>'+res[i].proNo+'</td>'; htmlStr += '<td>'+res[i].wkStationNo+'</td>'; htmlStr += '<td>'+res[i].stGrdNo+'</td>'; htmlStr += '<td>'+res[i].cItemName+'</td>'; htmlStr += '<td>'+res[i].cItemValue+'</td>'; htmlStr += '<td>'+res[i].wkGroup+'</td>'; htmlStr += '<td>'+res[i].wkShift+'</td>'; htmlStr += '<td>'+res[i].delFlage+'</td>'; htmlStr += '<td>'+res[i].c_memd+'</td>'; htmlStr += '<td>'+res[i].c_delsapman+'</td>'; htmlStr += '<td>'+res[i].cDelsapdate+'</td>'; htmlStr += '<td>'+res[i].cTimestamp+'</td>'; htmlStr += '<td>'+res[i].cSampleTime+'</td>'; htmlStr += '<td>'+res[i].cSw01+'</td>'; htmlStr += '<td>'+res[i].cMin+'</td>'; htmlStr += '<td>'+res[i].cMax+'</td>'; htmlStr += '<td>'+res[i].l_interval+'</td>'; htmlStr += '<td>'+res[i].r_interval+'</td>'; //htmlStr += '<a href="javascript:del('+res[i].id+')">删除</a>'; htmlStr += '</tr>'; } $("#myLine").html(htmlStr); }, error:function(){ alert("出错了!"); } }); } //删除功能 $(function(){ var del; $("#dell").click(function(){ $("input:checkbox:checked").each(function(index,element){ del = $("input:checkbox[name='chkItem']:checked").map(function(index,elem) { return $(elem).val(); }).get().join(','); }) alert(del); $.ajax({ url:"http://localhost:8080/MESS/Q001_del_delete", type:"post", dataType:"json", data:{"proNo":del}, success:function(rs){ if(rs.status == 0){ alert(rs.msg); //为什么就是隐藏不了呢? $("input:checkbox:checked").hide() TSM_QPM_Q001(); }else{ alert(rs.msg); TSM_QPM_Q001(); } }, error:function(){ alert("删除加载失败 "); } }); }); }); </script> </head> <body data-spy="scroll" data-target=".navbar" data-offset="50"> <nav class="navbar navbar-inverse navbar-fixed-top"> <div class="container-fluid"> <div> <div class="collapse navbar-collapse dropdown" id="myNavbar"> <ul class="nav navbar-nav"> <li><a href="#section1">氩站监控图</a></li> <li><a href="#section2">吹氩实绩</a></li> <li><a href="#section3">吹氩运转</a></li> </ul> </div> </div> </div> </nav> <div id="section2" class="container-fluid"> <h1 class="bg-info text-muted">吹氩实绩</h1> <div class="row clearfix"> <div class="col-md-12 column"> <div class="row clearfix"> <div class="col-md-12 column"> <div style="display:inline-block;"> <a href="TiaoJianselect.jsp"><button class="btn btn-primary btn-lg btn-sm" data-toggle="modal" data-target="#update_CR" id="CHAXUN">查询</button></a> <a href="addTSM_QPM_Q001.jsp"><button class="btn btn-primary btn-lg btn-sm" data-toggle="modal" data-target="#update_CR">添加</button></a> <button class="btn btn-primary btn-lg btn-sm" data-toggle="modal" data-target="#update_CR" id="dell">删除</button> <a href="update.jsp?proNo=res[i].proNo"><button class="btn btn-primary btn-lg btn-sm" data-toggle="modal" data-target="#update_CR" id="updateCR">修改</button></a> </div> </div> </div> <h3 class="bg-info text-muted">炼钢成分标准表</h3> <div style="height:280px;border:1px solid green; overflow:auto;"> <table class="table table-condensed table-hover table-bordered table-responsive text-center"> <thead> <tr> <th>操作</th> <th>工序号</th> <th>作业站号</th> <th>钢种号</th> <th>检验项目名称</th> <th>检验值</th> <th>班组</th> <th>班次</th> <th>删除标识</th> <th>备注</th> <th>删除人</th> <th>删除时间</th> <th>时间戳</th> <th>取样时间</th> <th>扩展字段</th> <th>最小值</th> <th>最大值</th> <th>左区间</th> <th>右区间</th> </tr> </thead> <tbody id="myLine"> <!-- <tr> <td><input type="button" value="删除" onclick=""><input type="button" value="修改" onclick=""></td> </tr> --> </tbody> </table> </div> </div> </div> </body> </html> ``` 如本图,我要实现一个修改功能,所以需要将选中复选框的这一行数据在另外一个页面显示出来,但是我现在的问题是想上述的代码中我这个修改的按钮所携带的数据在另一个页面上是无效的。。。。怎么将这个页面的数据带到另外一个页面?? 先在携带的数据是在上面的ajax里面获取的数据好像没有获取到。。。
JSp+ajax用户登录验证
[img]http://dl2.iteye.com/upload/attachment/0088/2001/4ee085e5-47e0-3995-ad42-62e4a53cfc2f.png[/img] 用户登陆界面,想要实现输入账号之后离开输入框就验证该账号是否存在,输入角色、账号、密码之后,点击登录,如果正确就跳转到index.jsp,错误不跳转并且在密码输入框下显示提示信息;有一个没输入就提示,信息也是在密码输入框下。 我现在的问题是:若果什么也不输,点击登录,会闪一下,但闪过之后就是重置了页面。输入正确也是闪一下就重置页面.账号验证没问题,就是登录有问题,但是搞不定,大侠们看看吧! login.jsp [code="java"]<form id="form" name="form" method="post" action="" > <table border="0"> <tr> <td align="right">角色类型:</td> <td><select name="role" id="role" onBlur="checkRole(this)"> <option value="0">-请选择角色-</option> <% List<Role> list = new ArrayList<Role>(); RoleDao dao = new RoleDaoImpl(); list = dao.findAllRoles();//调用实现类的查询全部方法 for (int i = 0; i < list.size(); i++) { Role r = list.get(i); %> <option value="<%=r.getR_id()%>"><%=r.getR_name()%></option> <% } %> </select> </td> <td align="left"> &nbsp; <span id="roleSpan"></span> </td> </tr> <tr> <td align="right">账号:</td> <td> <input type="text" name="number" id="number" onblur="checkNumber(this)"> </td> <td width="256" align="left"> &nbsp; <span id="numberSpan"></span> </td> </tr><!-- 当输入名字后离开输入框即调用--> <tr> <td align="right">密码:</td> <td><input type="password" name="pwd" id="pwd" onBlur="checkPsw(this)" > </td> <td align="left"> &nbsp; <span id="pwdSpan"></span> </td> </tr> <tr> <td align="left">&nbsp;<span id="feedback_info"></span></td> </tr> <tr> <td colspan="1"> <input type="submit" value="登录" onclick="checkLogin(this.form)"/> <input type="button" value="注册" onclick="javascript:window.location.href='User/Register.jsp'"></td> </tr> </table> </form>[/code] login.js [code="java"]var xmlHttp; function createXMLHttpRequest() { if (window.XMLHttpRequest) { var xmlHttp = new XMLHttpRequest(); //mozilla浏览器 } else if (window.ActiveXObject) { try { var xmlHttp = new ActiveX0bject("Msxml2.XMLHTTP"); //IE老版本 } catch (e) { } try { var xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); //IE新版本 } catch (e) { } } if (!xmlHttp) { window.alert("不能创建XMLHttpRequest对象实例"); return false; } else return xmlHttp; ////}///////花括号放错地方 } // 检查账号,给出提示信息 function checkNumber(Number) { var numberSpan = document.getElementById("numberSpan"); if (Number.value == "") { numberSpan.innerHTML = "账号必须填写".fontcolor("red"); return false; } else { xmlHttp = createXMLHttpRequest(); //createXMLHttpRequest申明的是局部变量,这里访问不到xmlHttp,要给xmlHttp变量赋值才行 var url="servlet/CheckNumberServlet?number="+Number.value+"&LoginTime="+new Date().getTime(); url = encodeURI(url); //转换码后再传输 xmlHttp.open("GET",url,true);//加时间戳防止IE缓存 //xmlhttp.setRequestHeader( "Content-Type", "text/html;charset=UTF-8" ); xmlHttp.onreadystatechange = handleStateChange1; xmlHttp.send(null); return true; } } function handleStateChange1() { var numberSpan = document.getElementById("numberSpan"); if (xmlHttp.readyState == 4) { if (xmlHttp.status == 200) { // alert("来自服务器的响应:"+xmlHttp.responseText); if (xmlHttp.responseText == 'true') {///////responseText是字符串,不能和boolean变量直接比较 // alert("存在"); numberSpan.innerHTML = "<img src='Img/g.gif'>"; document.getElementById("feedback_info").innerHTML=""; return true; } else if (xmlHttp.responseText == 'false') {///////responseText是字符串,不能和boolean变量直接比较 // alert("不存在"); numberSpan.innerHTML = "账号不存在".fontcolor("red"); return false; } } else alert("服务器端错误"); } } // 检查密码,给出提示信息 function checkPsw(pswNode) { var spanNode1 = document.getElementById("pswSpan"); var Role= document.getElementById("role"); var Number= document.getElementById("number"); if (pswNode.value == "") { spanNode1.innerHTML = "密码必须填写".fontcolor("red"); return false; } else { pwdSpan.innerHTML = "<img src='Img/g.gif'>"; document.getElementById("feedback_info").innerHTML=""; return true; } } // 检查是否选中角色 function checkRole(selNode) { var index = selNode.selectedIndex;// 获得选中下标 var spanNode1 = document.getElementById("roleSpan"); if (index <= 0) { spanNode1.innerHTML = "必须选择角色".fontcolor("red"); return false; } else { spanNode1.innerHTML = "<img src='Img/g.gif'>"; document.getElementById("feedback_info").innerHTML=""; return true; } } // 检查表单 function checkLogin(o) { var Role=o.role; var Number= o.number; var Pwd= o.pwd; if(checkNumber(Number)&&checkPsw(Psw) &&checkRole(Role)) { xmlHttp = createXMLHttpRequest(); //createXMLHttpRequest申明的是局部变量,这里访问不到xmlHttp,要给xmlHttp变量赋值才行 var url="servlet/CheckLoginServlet?number="+Number.value+"&role="+Role.value+"&pwd="+Pwd.value+"&LoginTime="+new Date().getTime(); url = encodeURI(url); //转换码后再传输 xmlHttp.open("GET",url,true);//加时间戳防止IE缓存 //xmlhttp.setRequestHeader( "Content-Type", "text/html;charset=UTF-8" ); xmlHttp.onreadystatechange = handleStateChange2; xmlHttp.send(null); return true; } else{ document.getElementById("feedback_info").innerHTML="请填写每一项".fontcolor("red"); return false; } } function handleStateChange2() { if (xmlHttp.readyState == 4) { if (xmlHttp.status == 200) { //alert("来自服务器的响应:" + xmlHttp.responseText); if(xmlHttp.responseText == '0'){ document.getElementById("feedback_info").innerHTML="账号与密码不匹配".fontcolor("red"); return false; } else if(xmlHttp.responseText == '1'){ document.getElementById("feedback_info").innerHTML=""; window.location.href="index.jsp"; return true; } } else alert("服务器端错误"); } }[/code] chuckLoginservlet [code="java"]public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); doPost(request, response);// 调用doPost方法 } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset=UTF-8"); String number=""; try { number = new String(request.getParameter("number").getBytes( "ISO-8859-1"), "UTF-8"); } catch (Exception e1) { System.out.println("number为空"); } String role="0"; int rID=0; try { role = new String(request.getParameter("role").getBytes( "ISO-8859-1"), "UTF-8"); rID=Integer.parseInt(role);//把获得的role的值转成整型 } catch (Exception e1) { System.out.println(request.getParameter("role")+"******role"); } String pwd=""; try { pwd = new String(request.getParameter("pwd").getBytes( "ISO-8859-1"), "UTF-8"); } catch (Exception e) { System.out.println(request.getParameter("pwd")+"****pwd"); } // String txt = new String(number.getBytes("ISO-8859-1"), "UTF-8"); // System.out.println(txt+"********"); PrintWriter out = response.getWriter(); User u = new User(); UserDao ud = new UserDaoImpl(); u = ud.findUserByNumber(number);//通过账号找到用户对象 if (u != null) {// 找到该用户 int u_id = u.getU_id();// 获得该用户的ID UserRole ur = new UserRole(); UserRoleDao urd = new UserRoleDaoImpl(); ur = urd.findUserRoleByUserId(u_id);// 找到中间表UserRole的记录 int r_id = ur.getRole().getR_id();// 由Userrole表找到Role表的相对应角色名称 if (r_id==rID && u.getU_password().equals(pwd))// 如果数据中的角色和密码与之对应 { out.write("1");//1表示验证通过 } else { out.write("0");//0表示密码与账号不匹配 } } out.flush(); out.close(); }[/code]
在同一个html页面中,自己拼接的html代码,调用js函数,参数值变 了
<div class="iteye-blog-content-contain" style="font-size: 14px;"> <pre name="code" class="js">&lt;script type="text/javascript"&gt; $(document).ready(function(){ $.ajax({ type:"POST", url: "../news.do?reqCode=showNewsInHtml&amp;postType=1"+"&amp;currentPage=1", dataType:"json", error: function(data){ var objJson = eval( "(" + data.responseText + ")" );//转换后的JSON对象 var pageSize = 10; var totalCount = objJson.TOTALCOUNT; $('#countnews').text(totalCount);//共有多少条新闻数据 // eval("window.totalPages = new Object();"); window.totalPages = parseInt(totalCount / pageSize + (totalCount % pageSize == 0 ? 0 : 1));//每页10条,共有多少页 //alert(totalPages); $('#countpages').text(totalPages);//共有多少页 options.totalPages = totalPages; $('#paging').bootstrapPaginator(options); var totalString = objJson.ROOT; var bb =$(document).find("#newslist"); for ( var i = 0; i &lt; totalString.length; i++) { var j = i + 1; bb.append( "&lt;tr&gt;&lt;td bgcolor='#FFFFCC'&gt;"+ j +"&lt;/td&gt;&lt;td bgcolor='#FFFFCC' &gt;&lt;a href='#' onclick='return <span style="color: #ff0000;">showNewsContent("+totalString[i].newsid +")'&gt;"</span> + totalString[i].newsname + "&lt;/a&gt;&lt;/td&gt;" + "&lt;td bgcolor='#FFFFCC'&gt;" + totalString[i].newsinputtime + "&lt;/td&gt;" + "&lt;/tr&gt;"); //alert(totalString[i].newsid); } } }) }); &lt;/script&gt; &lt;script type="text/javascript"&gt; function <span style="color: #ff0000;">showNewsContent(newsid)</span>{ // alert(newsid); $.ajax({ type:"POST", url: "../news.do?reqCode=showNewsDetailInHtml&amp;postType=1"+"&amp;newsid="+ newsid, dataType:"json", success: function(data){ var aa =$(document).find("#newscontent"); $("#newscontent ").empty(); var i = 0; aa.append( "&lt;div class='container2'&gt;&lt;a href='news.html'&gt;&lt;h4&gt;新闻列表&lt;/h4&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class='container2'&gt;&lt;h2 style='text-align:center;'&gt;"+data[i].newsname+ "&lt;/h2&gt;&lt;/div&gt;&lt;div class='container2' style='height:1px;background-color:blue;''&gt;&lt;/div&gt;" +"&lt;div class='container2'&gt;"+ data[i].newscontent +"&lt;/div&gt;&lt;div class='container2' style='text-align:right;'&gt;&lt;span &gt;&lt;/br&gt;&lt;/br&gt;来源:"+ data[i].newsresource +"&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;发布时间:"+data[i].newsinputtime+"&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;"); } }); } &lt;/script&gt;</pre> <p> 在如上代码中,首先拼接出新闻列表的html代码,当点击标题是,调用<span style="color: #ff0000; line-height: 1.5;">showNewsContent(newsid)</span><span style="color: #000000;">传入的参数newsid值有时错误有时对,搞了一晚上也没找到原因</span></p> </div>
手机测试 wx.config 无反应,愿意发微信红包, 求大佬帮忙分析解决
我在微信开发工具测试, wx.config 显示ok , wx.chooseWXPay.没有此SDK或暂不支持此SDK模拟 **问题出在, 我用手机测试 (ios,android) wx.config无反应,** erro和ready均不进入 wx.chooseWXPay也无法用, 我在https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign 验证了签名是一毛一样的, 求教大佬, 我这代码是出了啥毛病 ``` <!doctype html> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <html lang="zh-cn"> <head> <%@include file="/pc/inc/commoncontent.inc"%> <script type="text/javascript" src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script> <script src="<%=contextPath%>/m/smartHotel/script/jquery.min.js" type="text/javascript"></script> <script type="text/javascript"> </script> <title>订单-支付</title> <span class="disb picNum padTB30"><i class="disib iconPic" onClick="openPic(this);" >3532rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr张</i></span> </head> <body> <script type="text/javascript"> var appId1,timeStamp1,nonceStr1,packageStr1,signType1,paySign1; $(document).ready(function () { $.ajax({ url : contextPath+ "/weixin/hotelorder/wxPay.action", type:"post", dataType:'json', //接受数据格式 async: false, data:{url:window.location.href.split('#')[0].replace(/\&/g,"%26")},//传参,建议使用json //1:手机号, 2:房间数.3单价4总价 5: 当前bedid 6 :入住人 姓名 7 发票8 入住日离开日 error:function(data){//请求失败时处理 // alert(data); window.location.href = '<%=contextPath%>/m/smartHotel/html/yysb.html'/*预订失败页*/ }, success:function(data) { if( data) { appId1 = data.pay.appId; timeStamp1 = data.pay.timeStamp; nonceStr1 = data.pay.nonceStr; packageStr1 = data.pay.package; signType1 = data.pay.signType; paySign1 = data.pay.paySign; } wx.config({ debug:false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId:data.pay.appId, // 必填,公众号的唯一标识 timestamp:data.config.timestamp, // 必填,生成签名的时间戳 nonceStr:data.config.noncestr, // 必填,生成签名的随机串 signature:data.config.configSign, // 必填,签名,见附录1 jsApiList:['chooseWXPay','closeWindow'] }); wx.error(function(res){ alert("error enter"); }); wx.ready(function(){ alert("ready enter"); pay(); }); //onBridgeReady(); // alert("success inter"); } }); }); function pay() { // config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。 console.log(appId1 +" / "+ timeStamp1+" / " + nonceStr1+" / "+packageStr1 +" / "+ signType1+" / "+paySign1); wx.chooseWXPay({ timestamp:timeStamp1, // 支付签名时间戳,注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符 nonceStr:nonceStr1, // 支付签名随机串,不长于 32 位 package:packageStr1, // 统一支付接口返回的prepay_id参数值,提交格式如:prepay_id=***) signType:signType1, // 签名方式,默认为'SHA1',使用新版支付需传入'MD5' paySign:paySign1, // 支付签名 success:function(res) { alert("8888888888888"); alert(res); alert(res.errMsg); console.log(res.errMsg); // 支付成功后的回调函数 if (res.errMsg == "chooseWXPay:ok") { //支付成功 alert('支付成功'); } else { alert(res.errMsg); } } }); } function onBridgeReady(){ alert("进入了onbridgeready"); WeixinJSBridge.log("889"); WeixinJSBridge.invoke( 'getBrandWCPayRequest', { "appId":appId1, //公众号名称,由商户传入 "timeStamp":timeStamp1, //时间戳,自1970年以来的秒数 "nonceStr":nonceStr1, //随机串 "package":packageStr1, "signType":"MD5", //微信签名方式: "paySign":paySign1 //微信签名 }, function(res){ WeixinJSBridge.log(res); alert("进入了success"); alert(res.errorMsg); // 使用以下方式判断前端返回,微信团队郑重提示:res.err_msg将在用户支付成功后返回 ok,但并不保证它绝对可靠。 if(res.errMsg == "get_brand_wcpay_request:ok") { alert("支付成功"); // window.location.href = "${pageContext.request.contextPath}/wx/success?orderId=${orderId}"; }else if(res.errMsg == "get_brand_wcpay_request:fail"){ alert('支付失败'); }else if(res.errMsg == "get_brand_wcpay_request:cancel"){ alert('支付取消'); }else{ alert(res.errMsg); } } ); } function openPic() { pay(); //wx.closeWindow(); } //调用模拟 回调 // $.ajax({ // url : contextPath+ "/weixin/hotelorder/moniWXPay.action", // type:"post", // dataType:'json', //接受数据格式 // async: false, // data:{parm1:getQueryString2("orderId")},//传参,建议使用json // error:function(data){//请求失败时处理 // alert(data); // }, // success:function(data) // { // if(data.result =="success") // { // window.location.href = '<%=contextPath%>/m/smartHotel/html/yycg.jsp?orderId='+getQueryString2("orderId"); // } // // } // }); function getQueryString2(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); var r = window.location.search.substr(1).match(reg); if(r != null) return decodeURI(r[2]); return null; } </script> </body> </html> ```
MVC模型绑定遇到的问题
在实现购物车时,我的其他功能都可以正常运行,只有更新购物车数量这个功能中Carts绑定不到 视图代码: @model IEnumerable<MVCShopping.Models.Cart> @{ var ajaxOption = new AjaxOptions() { OnSuccess = "RemoveCartSuccess", OnFailure = "RemoveCartFailure", Confirm = "您确定要从购物车删除吗?", HttpMethod = "Post", }; } @section scripts{ @Scripts.Render("~/bundles/jqueryval") <script> function RemoveCartSuccess() { alert('移出购物从成功'); location.reload(); } function RemoveCartFailure(xhr) { alert('移出购物车失败(Http状态代吗:' + xhr.status); } </script> } <h2>购物车列表</h2> @using (Html.BeginForm("UpdateAmount", "Cart")) { <table> <tr> <th>产品名称</th> <th>单价</th> <th>数量</th> <th>小计</th> <th></th> </tr> @{int subTotal = 0;} @foreach (var item in Model) { subTotal += item.Product.Price * item.Amount; var ddlAmountList = new SelectList(Enumerable.Range(1,10),item.Amount); @Html.Hidden(item.Product.Id.ToString()) <tr> <td>@Html.DisplayFor(t=>item.Product.Name)</td> <td>NT¥@(item.Product.Price)</td> <td>@Html.DropDownListFor(t=>item.Amount,ddlAmountList)</td> <td>NT¥@(item.Product.Price*item.Amount)</td> <td> @Ajax.ActionLink("删除","Remove",new{ProductId=item.Product.Id},ajaxOption) </td> </tr> } <tr> <th></th> <th></th> <th>总价</th> <th id="subtotal">NT¥ @subTotal</th> <th></th> </tr> </table> <p> <input type="submit" value="更新数量" /> <input type="button" value="完成订单" onclick="location.href='@Url.Action("Complete","Order")';" /> </p> } 控制器CartControl代码: public class CartController : Controller { //非会员也可使用所以购物车保存在Session中 // 显示当前购物从项目 MvcShoppingContext db = new MvcShoppingContext(); List<Cart> Carts { get { if (Session["Carts"] == null) { Session["Carts"] = new List<Cart>(); } return Session["Carts"] as List<Cart>; } set { Session["Carts"] = value; } } public ActionResult Index() { return View(this.Carts); } //添加产品项目到购物车,如果没有传入Amount参数则默认购买数量为1 //因为要通过Ajax调用这个Action,所以可以先标示Post属性 [HttpPost] public ActionResult AddToCart(int ProductId, int Amount = 1) { var product = db.Products.Find(ProductId); //验证产品是否存在 if (product == null) return HttpNotFound(); var existiongCart = this.Carts.FirstOrDefault(p => p.Product.Id == ProductId); if (existiongCart != null) { existiongCart.Amount += 1; } else { this.Carts.Add(new Cart() { Product=product,Amount=Amount}); } return new HttpStatusCodeResult(HttpStatusCode.Created); } //移出购物从项目 [HttpPost] public ActionResult Remove(int ProductId) { var existingCart = this.Carts.FirstOrDefault(p => p.Product.Id == ProductId); if (existingCart != null) { this.Carts.Remove(existingCart); } return new HttpStatusCodeResult(System.Net.HttpStatusCode.OK); } //更新数量 [HttpPost] public ActionResult UpdateAmount(IEnumerable<Cart> Carts) { foreach (var item in Carts) { var existingCart = this.Carts.FirstOrDefault(p => p.Product.Id == item.Product.Id); if (existingCart != null) { existingCart.Amount = item.Amount; } } return RedirectToAction("Index","Cart"); } } 就是最后一个更新数量的方法( public ActionResult UpdateAmount(IEnumerable<Cart> Carts) )上Carts一直为空绑定不到。这是哪里出了问题呢?
JSP菜鸟一枚,请教如何实现在JSP页面点击button 按钮提交POST请求,并获取返回值
JSP菜鸟一枚,请教如何实现在JSP页面点击button 按钮提交POST请求,并获取返回值,问题很困扰。 因为之前不太了解框架和技术,之前用过ajax、jquery,请求成功,但是返回值取不出来,因为跨域请求安全问题。准备用servlet,但是servlet需要在服务端做修改,显然不适合,我是接口调用。请问大家有什么好的方法,实现JSP页面按钮提交求情获取返回值,最好能给一段代码示例。 Index.jsp <%@ page language="java" import="java.util.*" %> <%@ page pageEncoding="UTF-8" contentType="text/html;charset=utf-8" %> <%@ page import="WEB_API.*"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head header("Access-Control-Allow-Methods:GET,POST");> <base href="<%=basePath%>"> <title>中文显示示例</title> <meta http-equiv="Access-Control-Allow-Origin" content="http://eucpwx.mb345.com:443"> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <% WEB_API wa=new WEB_API(); String res=wa.sendPost("17761280053", "验证码是123"); System.out.println(res); %> <script type="text/JavaScript" src="js/jquery-3.0.0.min.js" ></script> <script type="text/javascript"> function dianji(){ $.post("http://eucpwx.mb345.com:443/AppApi/User/GetUserList?UserID=SU0126&GetType=1&NowID=&GetNum=1&Other=&SearchUserName=", function(data){ alert("Data Loaded: " + data); }); } </script> </head> <body>中文显示示例 <br> <input id="test" type="text" value="jquery"/> <input id="btn" type="button" onclick="dianji()" value="单击弹窗"/> </body> </html> WEB_API.java package WEB_API; import java.awt.EventQueue; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.io.UnsupportedEncodingException; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; import java.net.URLEncoder; import javax.swing.*; import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; import java.sql.Statement; import java.sql.Types; import java.io.BufferedReader; import java.io.File; import java.io.FileOutputStream; import java.io.FileReader; import java.io.RandomAccessFile; import java.util.ArrayList; import java.util.List; import com.alibaba.fastjson.JSON.*; public class WEB_API{ private static Connection con = null; public static void main(String[] args) { } public WEB_API(){ } public static String sendPost(String url, String param) { PrintWriter out = null; BufferedReader in = null; String result = ""; String strUrl="http://eucpwx.mb345.com:443/AppApi/User/GetUserList?"; String strparam = "UserID=SU0126&GetType=1&NowID=&GetNum=1&Other=&SearchUserName="; try { URL realUrl = new URL(strUrl); URLConnection conn = realUrl.openConnection(); conn.setRequestProperty("accept", "*/*"); conn.setRequestProperty("connection", "Keep-Alive"); conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); conn.setDoOutput(true); conn.setDoInput(true); out = new PrintWriter(conn.getOutputStream()); out.print(strparam); out.flush(); in = new BufferedReader(new InputStreamReader(conn.getInputStream(),"UTF-8")); String line; while ((line = in.readLine()) != null) { result += line; } } catch (Exception e) { System.out.println("发送POST请求出现异常!" + e); e.printStackTrace(); } finally { try { if (out != null) { out.close(); } if (in != null) { in.close(); } } catch (IOException ex) { ex.printStackTrace(); } } return result; } } 火狐浏览器显示: ![图片说明](https://img-ask.csdn.net/upload/201709/07/1504778539_257069.png)
style未定义!!!!!!!!!!!
<%@ page contentType="text/html;charset=UTF-8" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <c:set var="ctx" value="${pageContext.request.contextPath}"/> <!DOCTYPE HTML> <html> <head> <jsp:include page="/WEB-INF/jsp/web/common.jsp"/> <title>用户管理</title> </head> <body> <nav class="breadcrumb"><i class="Hui-iconfont">&#xe67f;</i> 首页 <span class="c-gray en">&gt;</span> 系统管理 <span class="c-gray en">&gt;</span> 用户管理 <a class="btn btn-success radius r" style="line-height:1.6em;margin-top:3px" href="javascript:location.replace(location.href);" title="刷新" id="refresh"><i class="Hui-iconfont">&#xe68f;</i></a> </nav> <div class="page-container"> <div class="text-c"> <button onclick="removeIframe()" class="btn btn-primary radius">关闭选项卡</button> <span class="select-box inline"> <select class="select" id="sel_Sub" name="uuid" onchange=""> <c:forEach items="${cList}" var="item"> <option value="${item.id}">${item.user_name}</option> </c:forEach> </select> </span> <input type="text" name="" id="search-name" placeholder="用户名称、id" style="width:250px" class="input-text"> <button name="" id="search" class="btn btn-success" onclick="search();"><i class="Hui-iconfont">&#xe665;</i> 搜索 </button> </div> <div class="cl pd-5 bg-1 bk-gray mt-20"> <span class="l"> <a href="javascript:" onclick="datadel()" class="btn btn-danger radius"><i class="Hui-iconfont">&#xe6e2;</i> 批量删除</a> <a class="btn btn-primary radius" onclick="system_user_add('添加用户','${ctx}/system/system-user-add')" href="javascript:"><i class="Hui-iconfont">&#xe600;</i> 添加用户</a> </span> <!--<span class="r">共有数据:<strong>54</strong> 条</span>--> </div> <div class="mt-20"> <table class="table table-border table-bordered table-hover table-bg table-sort"> <thead> <tr class="text-c"> <th width="25"><input type="checkbox" name="" value=""></th> <th width="20">用户名称</th> <th width="80">手机号</th> <th width="80">邮箱</th> <th width="20">操作</th> </tr> </thead> <tbody></tbody> </table> </div> </div> <jsp:include page="/WEB-INF/jsp/web/footer.jsp"/> <script type="text/javascript" src="${ctx}/lib/My97DatePicker/4.8/WdatePicker.js"></script> <script type="text/javascript" src="${ctx}/lib/datatables/1.10.0/jquery.dataTables.min.js"></script> <script type="text/javascript" src="${ctx}/lib/laypage/1.2/laypage.js"></script> <script type="text/javascript"> var dataTable = $('.table-sort').dataTable({ "aaSorting": [[1, "desc"]],//默认第几个排序 "bStateSave": true,//状态保存 "searching": false, //开启搜索标志 "bProcessing": true, "aoColumnDefs": [ //{"bVisible": false, "aTargets": [ 3 ]} //控制列的隐藏显示 {"orderable": false, "aTargets": [0, 1, 3, 4, 5]}// 制定列不参与排序 ], "serverSide": true,//服务器分页标志 //ajax地址 "sAjaxSource": "${ctx}/system/system-user-list/json.dt",// action地址 "fnServerData": retrieveData,//执行方法 "fnRowCallback": retrieveColumnData,//返回数据重构 "fnServerParams": function (aoData) { aoData.push( {"name": "search", "value": $('#search-name').val()}, {"name": "uuid", "value": $('#sel_Sub').val()} ) }, //配置列要显示的数据 "columns": [ {"data": null}, {"data": "USER_NAME"}, {"data": "MOBILE"}, {"data": "EMAIL"}, {"data": null} ] }); function retrieveColumnData(nRow, aData, iDisplayIndex) { $('td:eq(0)', nRow).html('&nbsp;<input type="checkbox" value="" name="">'); var last = "<a title=\"编辑\" href=\"javascript:\"\n" + " onclick=\"system_user_edit('用户编辑','${ctx}/system/system-user-add','" + aData.UUID + "')\"\n" + " style=\"text-decoration:none\"><i class=\"Hui-iconfont\">&#xe6df;</i></a>\n" + " <a title=\"删除\" href=\"javascript:\" onclick=\"system_user_del(this,'" + aData.UUID + "')\" class=\"ml-5\"\n" + " style=\"text-decoration:none\"><i class=\"Hui-iconfont\">&#xe6e2;</i></a>"; $('td:last', nRow).html(last); $('td:last', nRow).addClass('f-14'); $(nRow).addClass('text-c'); return nRow; } function retrieveData(sSource, aoData, fnCallback) { /* post 方法调用*/ $.ajax({ "type": "post", "contentType": "application/json", "cache": false, //禁用缓存 "url": sSource, "dataType": "json", "data": JSON.stringify(aoData), "success": function (resp) { fnCallback(resp); //服务器端返回的对象的returnObject部分是要求的格式 } }); } /*系统-用户-添加*/ function system_user_add(title, url, w, h) { layer_show(title, url, w, h); } /*系统-用户-编辑*/ function system_user_edit(title, url, id, w, h) { layer_show(title, url + '?id=' + id, w, h); } /*系统-用户-删除*/ function system_user_del(obj, id) { layer.confirm('确认要删除吗?', function (index) { $.ajax({ type: 'POST', url: '', dataType: 'json', success: function (data) { $(obj).parents("tr").remove(); layer.msg('已删除!', {icon: 1, time: 1000}); }, error: function (data) { console.log(data.msg); }, }); }); } function search() { dataTable.fnDraw(); } </script> </body> </html>
页面内容显示不出来 ,看不懂哪里出错了。
``` main.jsp: <%@ page contentType="text/html;charset=UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>title</title> <%@ include file="../../include/common.jsp"%> <script type="text/javascript"> //定义了一个命名空间,ExpertsMntn.main.xxxx可以直接调用 $.namespace("ExpertsMntn.main"); ExpertsMntn.main.add=function() { $("#ExpertsMntnDetailWin").dialog({ href:'add', title:'添加', draggable:false, //设置dialog自由尺寸 onResize:function(){ $('#ExpertsMntnGrid').datagrid('resize'); } }).dialog('open'); }; ExpertsMntn.main.edit=function() { var row = $('#ExpertsMntnGrid').datagrid('getSelections'); //getSelections:可以多行选中操作; getSelected:只能单行操作; if(row.length==1){ $("#ExpertsMntnDetailWin").dialog({ href:'edit/'+row[0].id, title:'编辑', draggable:false, onResize:function(){ $('#ExpertsMntnGrid').datagrid('resize'); } }).dialog('open'); }else{ $.message.alert("Please select a record only!"); } }; ExpertsMntn.main.del=function() { //获取datagrid选中的数据行 var row = $("#ExpertMntnGrid").datagrid('getSelections'); if(row.length>=1){ //调用easyui的确认框 $.message.comfirm('确认','确认删除?',function(r) { if(r){ var ids = [ ]; //将选中的数据库的id压入ids[]数组; for (var i = 0; i < row.length; i++) { ids.push(row[i].id); } //调用jquery的post方法请求delete地址 $.post('del',{ ids:ids.join(',') },function(result){ //动态页200状态post成功回调并且服务器返回标准json数据执行回调函数 if(result){ // reload data $('#ExpertsMntnGrid').datagrid('clearSelections'); $('#ExpertsMntnGrid').datagrid('reload'); } },"json"); //指定将服务器返回的内容处理成json类型(此外,还可以返回 html、text之类) } }); }else{ $.message.alert('Please select a record only!'); } }; ExpertsMntn.main.listSearch=function() { $('#ExpertsMntnGrid').datagrid('load', { }); }; ExpertsMntn.main.init = function() { $('#ExpertsMntnGrid').datagrid({ //建表?建表插件用法 url:'search', method:'get', pageSize:20, toolbar:'#', fit : true, pagination : true, idField : "id", //支持分页选择记录 pagePosition : "bottom", rownumbers : true, border : false, singleSelect : false, striped : true, fitColumns : true, selectOnCheck : true, checkOnSelect : true, columns:[[{ field:'check', title : '', checkbox : true },{ field : 'id', title : '', width : 22, align : 'center', halign : 'center', sortable : true },{ field:'name', title:'姓名', width:22, align : 'center', halign : 'center', sortable : false },{ field:'sex', title:'性别', width:22, align : 'center', halign : 'center', sortable : false },{ field:'birthday', title:'出生日期', width:22, align : 'center', halign : 'center', sortable : false },{ field:'partymember', title:'政治状态', width:22, align : 'center', halign : 'center', sortable : false },{ field:'itemid', title:'专业', width:22, align : 'center', halign : 'center', sortable : false },{ field:'orgid', title:'所属组织', width:22, align : 'center', halign : 'center', sortable : false },{ field:'telephone', title:'联系方式', width:22, align : 'center', halign : 'center', sortable : false },{ field:'experience', title:'经历', width:22, align : 'center', halign : 'center', sortable : false },{ field:'remarks', title:'备注', width:22, align : 'center', halign : 'center', sortable : false },{ field:'content', title:'照片附件', width:22, align : 'center', halign : 'center', sortable : false },{ field:'photo-suffix', title:'照片文件后缀名', width:22, align : 'center', halign : 'center', sortable : false }]], //查看操作,onDblClickRow onDblClickRow : function(index, row) { $('#ExpertsMntnGrid').datagrid("clearSelections"); $('#ExpertsMntnGrid').datagrid("selectRow", index); $('#ExpertsMntnDetailWin').dialog({ href : 'view/' + row.id, title : "查看", draggable : false, onResize : function() { $('#ExpertsMntnGrid').datagrid('resize'); } }).dialog('open'); } }); }; $(document).ready(function() { ExpertsMntn.main.init(); }); </script> </head> <body> <div class="easyui-layout" fit="true" border="false" > <div region="north" border="false" > <div id="toolbar" border="false" class="dialog-toolbar" style="border-bottom-style: solid; border-bottom-width: 1px; border-bottom-color: #DDDDDD"> <a href="#" class="easyui-linkbutton" data-options="plain:true,iconCls:'icon-add'" onclick="ExpertsMntn.main.add()">添加</a> <a href="#" class="easyui-linkbutton" data-options="plain:true,iconCls:'icon-edit'" onclick="ExpertsMntn.main.edit()">编辑</a> <a href="#" class="easyui-linkbutton" data-options="plain:true,iconCls:'icon-remove'" onclick="ExpertsMntn.main.del()">删除</a> </div> </div> <div region="center" border="false" style="width: 100%; height: 100%"> <table id="ExpertsMntnGrid"></table> </div> <div id="ExpertsMntnDetailWin" class="easyui-dialog" title="" style="width: 450px; height: 750px;" data-options="modal:true,closed:true"></div> </div> </body> </html> detail.jsp: <%@ page contentType="text/html;charset=UTF-8"%> <%@ include file="../../include/header.jsp"%> <script type="text/javascript"> $.namespace("ExpertsMntn.detail"); ExpertsMntn.id="${(ExpertsMntnEntity.id)==null?0:(ExpertsMntnEntity.id)}"; ExpertsMntn.detail.mode = "${mode}"; ExpertsMntn.detail.save = function(){ var url = $.ctx+'/zjkwh/save/'+ ExpertsMntn.id; $('#ExpertsMntnForm').form('submit', { url: url, onSubmit: function(param) { if(ExpertsMntn.detail.mode=='edit'){ return $(this).form('validate'); } var flag = false; $.ajax({ type : "post", url : 'check', dataType : "json", data : { id : $('#id').val() }, async : false, success : function(result) { if (result == true) { flag = true; } } }); if(!flag){ return $(this).form('validate'); } else { $.messager.alert('数据已存在'); $('#ExpertsMntnGrid').datagrid('load'); return !flag; } }, success: function(result) { var data = (new Function("","return "+ result))(); $('#ExpertsMntnGrid').datagrid('reload'); if (data.id) { ExpertsMntn.id = data.id; $.messager.alert('提示', '保存成功!','',function(){ $('#ExpertsMntnDetailWin').dialog('close'); }); } else { $.messager.show({ title: 'Error', msg: result }); } } }); } $(document).ready(function() { }); </script> <div class="easyui-layout" region="center" style="height:700px;border:1px dashed #FFFFFF"> <c:if test="${(mode=='edit') || (mode=='add')}"> <div class="editform" style="border:1px dashed #FFFFFF"> <form id="ExpertsMntnForm" method="post" novalidate style="margin-bottom: 0"> <input id="id" name="id" type="hidden" value="${ExpertsMntnEntity.id }" /> <ul style="list-style-type: none; height: 5px"></ul> "validType:'length[1,50]'" value="${ExpertsMntnEntity.wonawardz}" size="20" style="width: 140px;height:30px;line-height:30px;border-style:none;margin-right:3px;float: left;background: url('${ctx}/static/images/inputbg.png') ;background-size: 100% 100%; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='${ctx}/static/images/inputbg.png', sizingMethod='scale')\9;" /> </li> </ul>--> </div> </c:if> <c:if test="${mode=='view'}"> <div class="editform"> <table border=1> <tbody> <tr> <td class="label"><label>&nbps;ID:</label></td> <td>${expertsMntnEntity.id}</td> </tr> <tr> <td class="label"><label>姓名:</label></td> <td>${expertsMntnEntity.name}</td> </tr> <tr> <td class="label"><label>性别:</label></td> <td>${expertsMntnEntity.sex}</td> </tr> <tr> <td class="label"><label>出生日期:</label></td> <td>${expertsMntnEntity.birthday}</td> </tr> <tr> <td class="label"><label>专业:</label></td> <td>${expertsMntnEntity.itemid}</td> </tr> <tr> <td class="label"><label>获得奖项:</label></td> <td>${expertsMntnEntity.wonawardz}</td> </tr> <tr> <td class="label"><label>经历:</label></td> <td>${expertsMntnEntity.experience}</td> </tr> <tr> <td class="label"><label>备注:</label></td> <td>${expertsMntnEntity.remarks }</td> </tr> </tbody> </table> </div> </c:if> </div> 只有添加才能显示出内容,编辑和查看操作在对话框中显示不出来,就连div框都显示不了!对话框能打开,但是里面什么东西都没有! ```
如何实现js同一页面的值的传递,希望热心大佬帮助一下我,菜鸟实习生,没有c币。。。。。。。。
我现在在做一个退伍军人就业信息管理的模块,现在我要和另一模块退伍军人基本信息连接到一起,基本信息里面没有这个用户我就无法添加就业信息,现在我要做的是点击就业信息模块主界面点击添加信息按钮,跳转到如下界面![图片说明](https://img-ask.csdn.net/upload/201905/05/1557026572_514791.jpg), 我需要在搜索框输入用户名搜索姓名查询基本信息表内有无该用户,有该用户则会显示在下方,如图![图片说明](https://img-ask.csdn.net/upload/201905/05/1557026823_184457.jpg) 现在我所想要问的就是,我点击这一条用户信息的确定按钮,要在下方显示的就业信息添加表单里面显示所选的这条基本信息的用户名,如图![图片说明](https://img-ask.csdn.net/upload/201905/05/1557027065_102023.jpg) 我的问题就是不知道怎么传,上面的查询显示信息我是调用的基本信息的那个主页面查询所有的方法 ``` /** * 用户基本信息查询 */ public String infoList() throws Exception { try { if (pageSize == null) { pageSize = 10; } PageUtil pageUtil = new PageUtil(request); pageUtil.setPageSize(pageSize); // 获取分页的参数 totalCount = informationService.getTotalCount(); // 获取分页的参数 pageUtil.setRsCount(totalCount); pageSize = pageUtil.getPageSize(); int pageCount = pageUtil.getPageCount(); int currentPage = pageUtil.getCurrentPage(); // 产生分页的工具条 pageTool = pageUtil.createPageTool(PageUtil.Text); //从基础信息读取所有基础信息 infoList = informationService.getAll(currentPage, pageSize,name); System.out.println(infoList+"##############################################################"); } catch (RuntimeException e) { e.printStackTrace(); } return "infoList"; } ``` 然后项目用的是ssh框架,公司技术比较老,大佬莫笑,页面请求跳转 ``` @ParentPackage(value = "struts-default") @Namespace(value = "/") @Action(value = "employAction", results = { @Result(name = "list", location = "/admin/system/employ/employ_list.jsp"), @Result(name = "add", location = "/admin/system/employ/employ_add.jsp"), @Result(name = "edit", location = "/admin/system/employ/employ_edit.jsp"), @Result(name = "infoList",location = "/admin/system/employ/employ_add.jsp"), }) ``` 然后是action的全部,写的比较乱 ``` package com.gyes.employ.action; import java.io.PrintWriter; import java.util.HashMap; import java.util.List; import java.util.Map; import org.apache.struts2.convention.annotation.Action; import org.apache.struts2.convention.annotation.Namespace; import org.apache.struts2.convention.annotation.ParentPackage; import org.apache.struts2.convention.annotation.Result; import org.jfree.data.DataUtilities; import org.springframework.beans.factory.annotation.Autowired; import com.gyes.currency.util.BaseAction; import com.gyes.currency.util.DateUtil; import com.gyes.currency.util.GsonUtil; import com.gyes.currency.util.JsonUtil; import com.gyes.currency.util.MessageBean; import com.gyes.currency.util.PageUtil; import com.gyes.employ.bean.Employ; import com.gyes.employ.service.EmployService; import com.gyes.system.dept.bean.Dept; import com.gyes.system.dept.service.DeptService; import com.gyes.system.dictionary.bean.Dict; import com.gyes.system.dictionary.serivce.DictService; import com.gyes.system.information.action.InformationAction; import com.gyes.system.information.bean.Information; import com.gyes.system.information.service.InformationService; import com.gyes.system.information.service.impl.InformationServiceImpl; import com.gyes.system.user.bean.User; /** * 部门action * * @author Administrator * */ @ParentPackage(value = "struts-default") @Namespace(value = "/") @Action(value = "employAction", results = { @Result(name = "list", location = "/admin/system/employ/employ_list.jsp"), @Result(name = "add", location = "/admin/system/employ/employ_add.jsp"), @Result(name = "edit", location = "/admin/system/employ/employ_edit.jsp"), @Result(name = "infoList",location = "/admin/system/employ/employ_add.jsp"), }) public class EmployAction extends BaseAction{ @Autowired private EmployService employService; @Autowired private DictService dictService; @Autowired private InformationService informationService; private Employ employ; private String[] ids; private List<Employ> list; private String name; private Information information; //基础信息集合 private List<Information> infoList; private Map<String, Object> map = new HashMap<String, Object>(); // 显示数 private Integer pageSize; private Integer totalCount; private String pageTool; private Integer employId; // 字典中的性别集合 private List<Dict> employwayList; private String informationId; @Override public String execute() throws Exception { return null; } /** * 分页查询所有用户(list) * * @return * @throws Exception */ public String list() throws Exception { try { if (pageSize == null) { pageSize = 10; } PageUtil pageUtil = new PageUtil(request); pageUtil.setPageSize(pageSize); // 获取分页的参数 totalCount = employService.getTotalCount(); // 获取分页的参数 pageUtil.setRsCount(totalCount); pageSize = pageUtil.getPageSize(); int pageCount = pageUtil.getPageCount(); int currentPage = pageUtil.getCurrentPage(); // 产生分页的工具条 pageTool = pageUtil.createPageTool(PageUtil.Text); list = employService.getAll(currentPage, pageSize,name); } catch (RuntimeException e) { e.printStackTrace(); } return "list"; } /** * 增加就业信息 */ public String add() throws Exception { employ = employService.getEmploy(employ); //从数据字典读取就业方式 employwayList=dictService.getDictList("dic_employway"); return "add"; } /** * 用户基本信息查询 */ public String infoList() throws Exception { try { if (pageSize == null) { pageSize = 10; } PageUtil pageUtil = new PageUtil(request); pageUtil.setPageSize(pageSize); // 获取分页的参数 totalCount = informationService.getTotalCount(); // 获取分页的参数 pageUtil.setRsCount(totalCount); pageSize = pageUtil.getPageSize(); int pageCount = pageUtil.getPageCount(); int currentPage = pageUtil.getCurrentPage(); // 产生分页的工具条 pageTool = pageUtil.createPageTool(PageUtil.Text); //从基础信息读取所有基础信息 infoList = informationService.getAll(currentPage, pageSize,name); System.out.println(infoList+"##############################################################"); } catch (RuntimeException e) { e.printStackTrace(); } return "infoList"; } /** * 同一页面传递用户基本信息的姓名 */ public String getInformationName() throws Exception{ Information list=informationService.getById(informationId); System.out.println(list+"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); return list.getInformationname(); } /** * 保存新增内容 * * @return * @throws Exception */ public String save() throws Exception { try { employ.setCrateTime(DateUtil.getSysDateStr()); Dict dic = new Dict(); dic.setDictId(employ.getEmployway_id()); Dict dict = dictService.getById(dic); employ.setEmployway_id(dict.getDictId()); employ.setEmployWay(dict.getValue()); employService.insertEmploy(employ); map.put("success", true); } catch (Exception e) { e.printStackTrace(); map.put("success", false); map.put("message", e.getMessage()); } GsonUtil.writeToResponse(map, false); return NONE; } /** * 进入修改 * * @return */ public String update() throws Exception { employ = employService.getById(employ.getEmployId()); //从数据字典读取就业方式 employwayList=dictService.getDictList("dic_employway"); return "edit"; } /** * 保存修改后数据 * * @return */ public String saveEditEmploy() throws Exception { try { employ.setModifyTime(DateUtil.getSysDateStr()); Dict dic = new Dict(); dic.setDictId(employ.getEmployway_id()); Dict dict = dictService.getById(dic); employ.setEmployway_id(dic.getDictId()); employ.setEmployWay(dict.getValue()); employService.updateEmploy(employ); map.put("success", true); } catch (Exception e) { e.printStackTrace(); map.put("success", false); map.put("message", e.getMessage()); } GsonUtil.writeToResponse(map, false); return NONE; } /** * 判断用户名是否存在 * * @return */ public String AjaxName() throws Exception { MessageBean messageBean = new MessageBean(); messageBean.setFlag(false); List<Information> data = informationService.getInformationList(employ.getEmployName()); if (data.size() > 0) { messageBean.setFlag(true); } PrintWriter out = response.getWriter(); out.print(JsonUtil.objectToJson(messageBean)); return NONE; } /* * 删除部门 */ public String delete() throws Exception { try { employService.deleAbso(ids); map.put("success", true); } catch (Exception e) { e.printStackTrace(); map.put("success", false); map.put("message", e.getMessage()); } GsonUtil.writeToResponse(map, false); return NONE; } public Integer getEmployId() { return employId; } public void setEmployId(Integer employId) { this.employId = employId; } public EmployService getEmployService() { return employService; } public void setEmployService(EmployService employService) { this.employService = employService; } public DictService getDictService() { return dictService; } public void setDictService(DictService dictService) { this.dictService = dictService; } public Employ getEmploy() { return employ; } public void setEmploy(Employ employ) { this.employ = employ; } public List<Employ> getList() { return list; } public void setList(List<Employ> list) { this.list = list; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Map<String, Object> getMap() { return map; } public void setMap(Map<String, Object> map) { this.map = map; } public Integer getPageSize() { return pageSize; } public void setPageSize(Integer pageSize) { this.pageSize = pageSize; } public Integer getTotalCount() { return totalCount; } public void setTotalCount(Integer totalCount) { this.totalCount = totalCount; } public String getPageTool() { return pageTool; } public void setPageTool(String pageTool) { this.pageTool = pageTool; } public String[] getIds() { return ids; } public void setIds(String[] ids) { this.ids = ids; } public List<Dict> getEmploywayList() { return employwayList; } public void setEmploywayList(List<Dict> employwayList) { this.employwayList = employwayList; ``` ``` } public List<Information> getInfoList() { return infoList; } public void setInfoList(List<Information> infoList) { this.infoList = infoList; } public InformationService getInformationService() { return informationService; } public void setInformationService(InformationService informationService) { this.informationService = informationService; } public Information getInformation() { return information; } public void setInformation(Information information) { this.information = information; } } ``` 最后是添加页面的代码 ``` <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@ taglib uri="/struts-tags" prefix="s"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>菜单增加</title> <link href="${pageContext.request.contextPath}/admin/css/box_css.css" rel="stylesheet" type="text/css" /> <link href="${pageContext.request.contextPath}/admin/css/content_css.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src="${pageContext.request.contextPath}/admin/script/jquery.js"></script> <link rel="stylesheet" href="${pageContext.request.contextPath}/admin/css/common.css" type="text/css"/> <script type="text/javascript" src="${pageContext.request.contextPath}/admin/script/common.js"></script> <script type="text/javascript" src="${pageContext.request.contextPath}/admin/js/ui.js"></script> <link href="${pageContext.request.contextPath}/admin/css/style.css" rel="stylesheet" /> <script language="javascript"> function checkEmployName(){ var formData = jQuery("#form1").serializeArray(); var saveURL = "<%=path%>/employAction!AjaxName?date="+new Date()+""; jQuery.post(saveURL,formData,function(jsonData){ var message = jsonData.message; var flag = jsonData.flag; if (flag == true){ document.getElementById('employName').value=''; mizhu.alert('', '用户名已经存在,请重新填写!',''); } },"json"); } function save(){ var employName=document.getElementById("employName"); if(employName.value==''){ mizhu.alert('', '用户名称不能为空',''); return false; } var employIndustry=document.getElementById("employIndustry"); if(employIndustry.value==''){ mizhu.alert('', '从事行业不能为空',''); return false; } var employ_workTime=document.getElementById("employ_workTime"); if(employ_workTime.value==''){ mizhu.alert('', '工作年限不能为空',''); return false; }else if(employ_workTime.value>=100){ mizhu.alert('', '工作年限请输入小于100的数字!!!!',''); return false; } var employWay=document.getElementById("employWay"); if(employWay.value==''){ mizhu.alert('', '就业方式必须选择!!!',''); return false; } var eduName=document.getElementById("eduName"); if(eduName.value==''){ mizhu.alert('', '教育机构名称不能为空',''); return false; } var companyName=document.getElementById("companyName"); if(companyName.value==''){ mizhu.alert('', '公司名称不能为空',''); return false; } var formData = jQuery("#form1").serializeArray(); var saveURL = "<%=path%>/employAction!save"; $.ajax({ type:"POST", url:saveURL, data:formData, dataType:"JSON", success:function(obj){ //alert(obj.success); if(obj.success){ $.message("success","新增用户信息成功...."); setTimeout(function(){ location.href="${pageContext.request.contextPath}/employAction!list"; }, 1000); }else{ $.message("error",obj.message); } } }); //不提交表单 return false; } function findOut(){ var name=$("#inputname").val(); var saveURL = "${pageContext.request.contextPath}/employAction!infoList?name="+name+""; if (saveURL!="/employAction!infoList?name=") { window.location.href = saveURL; var ifo=document.getElementById("info"); ifo.style.display="block"; alert(informationname); }else{ } return false; }; function yes(){ var emp=document.getElementById("emp"); emp.style.display="block"; return false; } </script> </head> <body> <div class="main"> <div class="increase_box"> <div class="increase_list"> <h3><b>就业信息管理</b><span></span></h3> <div class="increase_main"> <form id="form1" novalidate="novalidate"> <input type="hidden" id="employId" name="employ.employId" value='<s:property value="employ.employId"/>' /> <input type="hidden" id="informationId" name="information.informationId" value='<s:property value="information.informationId"/>' /> <tr> <td align="left" valin="middle"> <form action="${pageContext.request.contextPath}/employAction!infoList" method="post"> <td align="left" valign="middle" style="text-align:right; width:190px;"></td> <input type="text" class="input_k2" placeholder="请输入用户名" value="" id="inputname" /> </td> <td align="left" valign="middle" style="text-align:right; width:80px;"> <a class="byget" href="javascript:" onclick="findOut()">查询</a></td> </form> </tr> <table width="96%" border="0" align="center" cellpadding="0" cellspacing="0" class="box_news_show assessment_show" style="display: block" id="info"> <tr> <th width="10%" align="center" valign="middle" class="borderright">ID</th> <th width="10%" align="center" valign="middle" class="borderright">姓名</th> <th width="10%" align="center" valign="middle" class="borderright">入伍时间</th> <th width="10%" align="center" valign="middle" class="borderright">退伍时间</th> <th width="10%" align="center" valign="middle" class="borderright">入党时间</th> <th width="20%" align="center" valign="middle" class="borderright">所在单位</th> <th width="10%" align="center" valign="middle" class="borderright">状态</th> <th width="20%" align="center" valign="middle" class="borderright">身份证号码</th> <th align="center" valign="middle" class="borderright">录入人员</th> <th width="5%" align="center" valign="middle">操作</th> </tr> <s:iterator value="infoList" status="st"> <tr onMouseOut="this.style.backgroundColor='#ffffff'" onMouseOver="this.style.backgroundColor='#edf5ff'"> <td align="center" valign="middle" class="borderright borderbottom"><s:property value="informationId"/></td> <td align="center" valign="middle" class="borderright borderbottom" ><s:property value="informationname"/></td> <td align="center" valign="middle" class="borderright borderbottom"><s:property value="enlistmenttime"/></td> <td align="center" valign="middle" class="borderright borderbottom"><s:property value="retiredtime"/></td> <td align="center" valign="middle" class="borderright borderbottom"><s:property value="partytime"/></td> <td align="center" valign="middle" class="borderright borderbottom"><s:property value="unit"/></td> <td align="center" valign="middle" class="borderright borderbottom"><s:property value="stats"/></td> <td align="center" valign="middle" class="borderright borderbottom"><s:property value="numbers"/></td> <td align="center" valign="middle" class="borderright borderbottom"><s:property value="entrypersonnel"/></td> <td><input type="submit" value="确定" class="button_1" onclick="yes()"/></td> </tr> </s:iterator> </table> <table width="96%" border="0" align="center" cellpadding="0" cellspacing="0" class="box_news_show assessment_show" style="display: none" id="emp"> <tr> <td width="20%" class="box_news_show_h3">用户名称: </td> <td width="28%" class="box_news_show_h1"> <input name="information.informaationname" type="text" class="input_k2" onblur="checkEmployName()" maxlength="20" id="infoname"/> <span style="color:red;" id="infoname">*</span> </td> <td width="20%" class="box_news_show_h3">从事行业</td> <td width="28%" class="box_news_show_h1"> <s:textfield name="employ.employIndustry" id="employIndustry" class="input_k2" /> <span style="color:red;" id="employIndustry">*</span> </td> </tr> <tr> <td width="20%" class="box_news_show_h3">工作年限</td> <td width="28%" class="box_news_show_h1"> <s:textfield name="employ.workTime" class="input_k2" id="employ_workTime" onkeyup="this.value=this.value.replace(/\D/g,'')"/>&nbsp;年 <span style="color:red;" id="employ_workTime">*</span> </td> <%-- <td width="20%" class="box_news_show_h3">就业方式</td> <td width="28%" class="box_news_show_h1"> <s:select name="employ.employway_id" list="employwayList" listKey="dictId" listValue="value" id="employWay" headerKey="" headerValue="请选择" class="input_k2"></s:select> <span style="color:red;" id="employ_employWay">*</span> </td> --%> </tr> <tr > <td width="20%" class="box_news_show_h3">培训机构名称</td> <td width="28%" class="box_news_show_h1"> <s:textfield name="employ.eduName" class="input_k2" id="eduName" /> <span style="color:red;" id="employ_eduName">*</span> </td> <td width="20%" class="box_news_show_h3">公司名称</td> <td width="28%" class="box_news_show_h1"> <s:textfield name="employ.companyName" id="companyName" class="input_k2" /> <span style="color:red;" id="employ_companyName">*</span> </td> </tr> </table> </div> </div> <div class="increase_bottom"><p> <input type="button" value="保存" class="button_1" onclick="save()"/> <input type="button" class="button_2" value="返回" onclick="history.go(-1)"/> </p> </div> <div class="clear"></div> </div> </form> </body> </html> ``` 求求各位大佬了,救救孩子吧............................
在中国程序员是青春饭吗?
今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...
【JSON解析】浅谈JSONObject的使用
简介 在程序开发过程中,在参数传递,函数返回值等方面,越来越多的使用JSON。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,同时也易于机器解析和生成、易于理解、阅读和撰写,而且Json采用完全独立于语言的文本格式,这使得Json成为理想的数据交换语言。 JSON建构于两种结构: “名称/值”对的集合(A Collection of name/va...
《MySQL 性能优化》之理解 MySQL 体系结构
本文介绍 MySQL 的体系结构,包括物理结构、逻辑结构以及插件式存储引擎。
程序员请照顾好自己,周末病魔差点一套带走我。
程序员在一个周末的时间,得了重病,差点当场去世,还好及时挽救回来了。
一名大专同学的四个问题
【前言】   收到一封来信,赶上各种事情拖了几日,利用今天要放下工作的时机,做个回复。   2020年到了,就以这一封信,作为开年标志吧。 【正文】   您好,我是一名现在有很多困惑的大二学生。有一些问题想要向您请教。   先说一下我的基本情况,高考失利,不想复读,来到广州一所大专读计算机应用技术专业。学校是偏艺术类的,计算机专业没有实验室更不用说工作室了。而且学校的学风也不好。但我很想在计算机领...
复习一周,京东+百度一面,不小心都拿了Offer
京东和百度一面都问了啥,面试官百般刁难,可惜我全会。
Java 14 都快来了,为什么还有这么多人固守Java 8?
从Java 9开始,Java版本的发布就让人眼花缭乱了。每隔6个月,都会冒出一个新版本出来,Java 10 , Java 11, Java 12, Java 13, 到2020年3月份,...
达摩院十大科技趋势发布:2020 非同小可!
【CSDN编者按】1月2日,阿里巴巴发布《达摩院2020十大科技趋势》,十大科技趋势分别是:人工智能从感知智能向认知智能演进;计算存储一体化突破AI算力瓶颈;工业互联网的超融合;机器间大规模协作成为可能;模块化降低芯片设计门槛;规模化生产级区块链应用将走入大众;量子计算进入攻坚期;新材料推动半导体器件革新;保护数据隐私的AI技术将加速落地;云成为IT技术创新的中心 。 新的画卷,正在徐徐展开。...
轻松搭建基于 SpringBoot + Vue 的 Web 商城应用
首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传。函数计算准备计算资源,并以弹性伸缩的方式运行用户代码,而用户只需根据实际代码运行所消耗的资源进行付费。Fun: Fun 是一个用于支持 Serverless 应用部署的工具,能帮助您便捷地管理函数计算、API ...
讲真,这两个IDE插件,可以让你写出质量杠杠的代码
周末躺在床上看《拯救大兵瑞恩》 周末在闲逛的时候,发现了两个优秀的 IDE 插件,据说可以提高代码的质量,我就安装了一下,试了试以后发现,确实很不错,就推荐给大家。 01、Alibaba Java 代码规范插件 《阿里巴巴 Java 开发手册》,相信大家都不会感到陌生,其 IDEA 插件的下载次数据说达到了 80 万次,我今天又贡献了一次。嘿嘿。 该项目的插件地址: https://github....
Python+OpenCV实时图像处理
目录 1、导入库文件 2、设计GUI 3、调用摄像头 4、实时图像处理 4.1、阈值二值化 4.2、边缘检测 4.3、轮廓检测 4.4、高斯滤波 4.5、色彩转换 4.6、调节对比度 5、退出系统 初学OpenCV图像处理的小伙伴肯定对什么高斯函数、滤波处理、阈值二值化等特性非常头疼,这里给各位分享一个小项目,可通过摄像头实时动态查看各类图像处理的特点,也可对各位调参、测试...
2020年一线城市程序员工资大调查
人才需求 一线城市共发布岗位38115个,招聘120827人。 其中 beijing 22805 guangzhou 25081 shanghai 39614 shenzhen 33327 工资分布 2020年中国一线城市程序员的平均工资为16285元,工资中位数为14583元,其中95%的人的工资位于5000到20000元之间。 和往年数据比较: yea...
为什么猝死的都是程序员,基本上不见产品经理猝死呢?
相信大家时不时听到程序员猝死的消息,但是基本上听不到产品经理猝死的消息,这是为什么呢? 我们先百度搜一下:程序员猝死,出现将近700多万条搜索结果: 搜索一下:产品经理猝死,只有400万条的搜索结果,从搜索结果数量上来看,程序员猝死的搜索结果就比产品经理猝死的搜索结果高了一倍,而且从下图可以看到,首页里面的五条搜索结果,其实只有两条才是符合条件。 所以程序员猝死的概率真的比产品经理大,并不是错...
害怕面试被问HashMap?这一篇就搞定了!
声明:本文以jdk1.8为主! 搞定HashMap 作为一个Java从业者,面试的时候肯定会被问到过HashMap,因为对于HashMap来说,可以说是Java集合中的精髓了,如果你觉得自己对它掌握的还不够好,我想今天这篇文章会非常适合你,至少,看了今天这篇文章,以后不怕面试被问HashMap了 其实在我学习HashMap的过程中,我个人觉得HashMap还是挺复杂的,如果真的想把它搞得明明白...
毕业5年,我问遍了身边的大佬,总结了他们的学习方法
我问了身边10个大佬,总结了他们的学习方法,原来成功都是有迹可循的。
python爬取百部电影数据,我分析出了一个残酷的真相
2019年就这么匆匆过去了,就在前几天国家电影局发布了2019年中国电影市场数据,数据显示去年总票房为642.66亿元,同比增长5.4%;国产电影总票房411.75亿元,同比增长8.65%,市场占比 64.07%;城市院线观影人次17.27亿,同比增长0.64%。 看上去似乎是一片大好对不对?不过作为一名严谨求实的数据分析师,我从官方数据中看出了一点端倪:国产票房增幅都已经高达8.65%了,为什...
推荐10个堪称神器的学习网站
每天都会收到很多读者的私信,问我:“二哥,有什么推荐的学习网站吗?最近很浮躁,手头的一些网站都看烦了,想看看二哥这里有什么新鲜货。” 今天一早做了个恶梦,梦到被老板辞退了。虽然说在我们公司,只有我辞退老板的份,没有老板辞退我这一说,但是还是被吓得 4 点多都起来了。(主要是因为我掌握着公司所有的核心源码,哈哈哈) 既然 4 点多起来,就得好好利用起来。于是我就挑选了 10 个堪称神器的学习网站,推...
这些软件太强了,Windows必装!尤其程序员!
Windows可谓是大多数人的生产力工具,集娱乐办公于一体,虽然在程序员这个群体中都说苹果是信仰,但是大部分不都是从Windows过来的,而且现在依然有很多的程序员用Windows。 所以,今天我就把我私藏的Windows必装的软件分享给大家,如果有一个你没有用过甚至没有听过,那你就赚了????,这可都是提升你幸福感的高效率生产力工具哦! 走起!???? NO、1 ScreenToGif 屏幕,摄像头和白板...
阿里面试,面试官没想到一个ArrayList,我都能跟他扯半小时
我是真的没想到,面试官会这样问我ArrayList。
曾经优秀的人,怎么就突然不优秀了。
职场上有很多辛酸事,很多合伙人出局的故事,很多技术骨干被裁员的故事。说来模板都类似,曾经是名校毕业,曾经是优秀员工,曾经被领导表扬,曾经业绩突出,然而突然有一天,因为种种原因,被裁员了,...
大学四年因为知道了这32个网站,我成了别人眼中的大神!
依稀记得,毕业那天,我们导员发给我毕业证的时候对我说“你可是咱们系的风云人物啊”,哎呀,别提当时多开心啦????,嗯,我们导员是所有导员中最帅的一个,真的???? 不过,导员说的是实话,很多人都叫我大神的,为啥,因为我知道这32个网站啊,你说强不强????,这次是绝对的干货,看好啦,走起来! PS:每个网站都是学计算机混互联网必须知道的,真的牛杯,我就不过多介绍了,大家自行探索,觉得没用的,尽管留言吐槽吧???? 社...
良心推荐,我珍藏的一些Chrome插件
上次搬家的时候,发了一个朋友圈,附带的照片中不小心暴露了自己的 Chrome 浏览器插件之多,于是就有小伙伴评论说分享一下我觉得还不错的浏览器插件。 我下面就把我日常工作和学习中经常用到的一些 Chrome 浏览器插件分享给大家,随便一个都能提高你的“生活品质”和工作效率。 Markdown Here Markdown Here 可以让你更愉快的写邮件,由于支持 Markdown 直接转电子邮...
看完这篇HTTP,跟面试官扯皮就没问题了
我是一名程序员,我的主要编程语言是 Java,我更是一名 Web 开发人员,所以我必须要了解 HTTP,所以本篇文章就来带你从 HTTP 入门到进阶,看完让你有一种恍然大悟、醍醐灌顶的感觉。 最初在有网络之前,我们的电脑都是单机的,单机系统是孤立的,我还记得 05 年前那会儿家里有个电脑,想打电脑游戏还得两个人在一个电脑上玩儿,及其不方便。我就想为什么家里人不让上网,我的同学 xxx 家里有网,每...
史上最全的IDEA快捷键总结
现在Idea成了主流开发工具,这篇博客对其使用的快捷键做了总结,希望对大家的开发工作有所帮助。
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
这种新手都不会范的错,居然被一个工作好几年的小伙子写出来,差点被当场开除了。
谁是华为扫地僧?
是的,华为也有扫地僧!2020年2月11-12日,“养在深闺人不知”的华为2012实验室扫地僧们,将在华为开发者大会2020(Cloud)上,和大家见面。到时,你可以和扫地僧们,吃一个洋...
AI 没让人类失业,搞 AI 的人先失业了
最近和几个 AI 领域的大佬闲聊 根据他们讲的消息和段子 改编出下面这个故事 如有雷同 都是巧合 1. 老王创业失败,被限制高消费 “这里写我跑路的消息实在太夸张了。” 王葱葱哼笑一下,把消息分享给群里。 阿杰也看了消息,笑了笑。在座几位也都笑了。 王葱葱是个有名的人物,21岁那年以全额奖学金进入 KMU 攻读人工智能博士,累计发表论文 40 余篇,个人技术博客更是成为深度学习领域内风向标。 ...
2020年,冯唐49岁:我给20、30岁IT职场年轻人的建议
点击“技术领导力”关注∆每天早上8:30推送 作者|Mr.K 编辑| Emma 来源|技术领导力(ID:jishulingdaoli) 前天的推文《冯唐:职场人35岁以后,方法论比经验重要》,收到了不少读者的反馈,觉得挺受启发。其实,冯唐写了不少关于职场方面的文章,都挺不错的。可惜大家只记住了“春风十里不如你”、“如何避免成为油腻腻的中年人”等不那么正经的文章。 本文整理了冯...
作为一名大学生,如何在B站上快乐的学习?
B站是个宝,谁用谁知道???? 作为一名大学生,你必须掌握的一项能力就是自学能力,很多看起来很牛X的人,你可以了解下,人家私底下一定是花大量的时间自学的,你可能会说,我也想学习啊,可是嘞,该学习啥嘞,不怕告诉你,互联网时代,最不缺的就是学习资源,最宝贵的是啥? 你可能会说是时间,不,不是时间,而是你的注意力,懂了吧! 那么,你说学习资源多,我咋不知道,那今天我就告诉你一个你必须知道的学习的地方,人称...
那些年,我们信了课本里的那些鬼话
教材永远都是有错误的,从小学到大学,我们不断的学习了很多错误知识。 斑羚飞渡 在我们学习的很多小学课文里,有很多是错误文章,或者说是假课文。像《斑羚飞渡》: 随着镰刀头羊的那声吼叫,整个斑羚群迅速分成两拨,老年斑羚为一拨,年轻斑羚为一拨。 就在这时,我看见,从那拨老斑羚里走出一只公斑羚来。公斑羚朝那拨年轻斑羚示意性地咩了一声,一只半大的斑羚应声走了出来。一老一少走到伤心崖,后退了几步,突...
一个程序在计算机中是如何运行的?超级干货!!!
强烈声明:本文很干,请自备茶水!???? 开门见山,咱不说废话! 你有没有想过,你写的程序,是如何在计算机中运行的吗?比如我们搞Java的,肯定写过这段代码 public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World!"); } ...
立即提问