ajax 提交表单数据失败

前段:
方式1://ajax的post方式提交表单

    $.post("/item/save",$("#itemAddForm").serialize(), function(data){
        if(data.status == 200){
            $.messager.alert('提示','新增商品成功!');
        }else{
            $.messager.alert('提示','新增商品失败!');
        }
    });

    方式2:/*$.ajax({
            type: "POST",//方法类型
            dataType: "json",//预期服务器返回的数据类型
            url: "/item/save" ,//url
            async: false,
            data: $('#itemAddForm').serialize(),
            success: function (result) {
                if (result.status == 200) {
                    $.messager.alert('提示','新增商品成功!');
                }
                ;
            },
            error : function() {
                $.messager.alert('提示','新增商品失败!');
            }
        });*/

Controller:
@RequestMapping(value="/item/save",method=RequestMethod.POST)
@ResponseBody
public TaotaoResult createItem(TbItem item,String desc) throws Exception {
TaotaoResult result = itemService.createItem(item,desc);
return result;
}

不论方式1还是2,都无法正常更新。原因查了半天也不知道,麻烦大神们帮帮小白。maven项目

3个回答

首先,需要知道浏览器提交请求的响应内容是什么,打开浏览器的 F12 调试功能,看看网络请求中这个请求的响应内容是什么。
其次,ajax请求进入那个分支了呢,如果没进入成功分支,是否进入了“新增商品失败”分支了呢,如果是的话,后台响应的TaotaoResult 是否有status状态信息?
第三,在后台Controller打个断点,看看请求流程,查询结果是什么。

zsj753014
zsj753014 现在是方式1的post根本没有进去,不知道为什么,方式二的话,主要url有问题,我的Controller里面是value="/item/save"
9 个月之前 回复

@ResponseBody这个注解需要你吧参数转成Json类型,看你的请求是否成功,返回的状态是不是200 result.status == 200 data: JSON.stringify(object),

zsj753014
zsj753014 data: JSON.stringify(object),这个是啥?按道理来说返回的时候,后台会给他返回一个TaotaoResult的json格式数据,前台拿了直接显示
9 个月之前 回复

问题已解决,因为pojo和表单中的buydate的数据类型不一致导致的

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
jsp页面中的表单提交数据,如果数据保存失败后转发回原来这个jsp页面,那么如何保留原来jsp页面中刚才表单中填写的内容?
jsp页面中的表单数据提交到javaweb服务器 把表单数据保存到数据库中,如果保存成功则转发到新页面提示成功, 如果保存失败,则转发到原来的jsp页面,可是原jsp页面表单中的内容清空了, 如何保留刚才表单中填写的内容? 如下图: ![图片说明](https://img-ask.csdn.net/upload/201909/16/1568596865_975752.png) ![图片说明](https://img-ask.csdn.net/upload/201909/16/1568597188_954809.png)
Easyui 使用dialog窗口提交form表单 数据为空
我点击打开easyUI的dialog窗口时,后台接收的数据全部为null;但我直接使用jq的打开窗口并传输数据,后台都能获取到。我看网上有人说使用了dialog文档结构改变了,找不到对应的from?该怎么改啊 * js部分 ```javascript <script type="text/javascript"> /* 显示addDiv */ function addDiv() { $("#addTab").dialog({ title : '新增', width : 600, height : 400, modal : true }) $("#addTab").dialog("open"); } /* 提交新增 */ function add() { var $dialog = $("#addDiv"); var $form = $dialog.find("form[name=addForm]"); var formData = new FormData($form[0]); console.log($form); console.log(formData); $.ajax({ url : basePath + "/goodsAdd.json", type : "post", dataType : "json", data :formData, processData : false, cache : false, contentType : false, success : function(data) { if (data.num == 1) { $.messager.alert('提示', "新增成功"); $("#datag").datagrid("reload"); } else { $.messager.alert('提示', "新增失败"); } } }); } </script> ``` * HTML部分 ```html <body> <div id="addDiv" > <form name="addForm" method="post" enctype="multipart/form-data"> <table id="addTab"> <tr> <td>商品名称:<input id="goodsname1" class="easyui-textbox" name="goodsname" style="width: 150px"></td> <td>商品价格:<input id="goodsprice1" class="easyui-numberbox" name="goodsprice" data-options="validType:'goodsprice',required:true" style="width: 150px"></td> </tr> <tr> <td>保质&emsp;期:<input id="releasedate1" class="easyui-numberbox" name="releasedate" data-options="validType:'releasedate',required:true" style="width: 150px"></td> <td>生产日期:<input id="creationdate1" class="easyui-datetimebox" name="creationdate" data-options="validType:'creationdate',required:true" style="width: 150px"></td> </tr> <tr> <td>产&emsp;&emsp;地:<input id="producingarea1" class="easyui-textbox" name="producingarea" data-options="validType:'producingarea',required:true" style="width: 150px"></td> <td>商品类型:<input id="goodstype1" class="easyui-textbox" name="goodstype" data-options="validType:'goodstype',required:true" style="width: 150px"></td> </tr> <tr> <td>商品信息:<input id="goodsinfo1" class="easyui-textbox" name="goodsinfo" data-options="validType:'goodsinfo',required:true" style="width: 150px"></td> </tr> <tr> <td colspan="2"> <div style="width: 100%; text-align: center;"> <img id="defaultImage" style="width: 250px; height: 150px; display: inline-block;" alt="默认商品" src="../../view/images/goods/wallhaven-2e3839.jpg"> </div> </td> </tr> <tr> <td colspan="2"> <div style="width: 100%; text-align: center;"> <input name="upImage" class="easyui-filebox" style="width: 300px" data-options="buttonText:'选择文件',onChange:showImage"> </div> </td> <td> <input type="hidden" id="goodsimagename" name="goodsimagename" value="wallhaven-2e3839"> <input type="hidden" id="goodssuffix" name="goodssuffix" value="jpg"> <input type="hidden" id="goodsimagetype" name="goodsimagetype" value="image/jpg"> <input type="hidden" id="goodsimagesize" name="goodsimagesize" value="8888"></td> </tr> <tr> <td colspan="2" style="text-align: center;"><a href="#" class="easyui-linkbutton" data-options="iconCls:'icon-add',onClick:add">提交</a></td> </tr> </table> </form> </div> </body> ```
通过ajax提交的后台的数据实现不了赋值
前台提交的代码,在后台通过属性注入不进去的问题 前台表单代码: ``` <form id="editForm" method="post"> <table> <tr> <td><input class="easyui-textbox" hidden="true" type="text" name="dep.uuid" data-options="required:true"></input></td> </tr> <tr> <td>部门名称:</td> <td><input class="easyui-textbox" type="text" name="dep.name" data-options="required:true"></input></td> </tr> <tr> <td>部门联系电话:</td> <td><input class="easyui-textbox" type="text" name="dep.tele" data-options="required:true"></input></td> </tr> <tr> <td> <button id="editBtn" type="button" class="easyui-linkbutton">编辑</button> <button id="clearBtn" type="button" class="easyui-linkbutton" onclick="clearForm('editForm')">重置</button> </td> </tr> </table> </form> ``` 给后台发送的请求: ![图片说明](https://img-ask.csdn.net/upload/201901/14/1547440499_92122.png) struts的action配置 ``` <struts> <package name="erp" extends="struts-default" namespace="/"> <action name="depAction_*" class="depAction" method="{1}"></action> </package> </struts> ``` depAction里面定义的dep的属性驱动以及add方法 ``` //属性驱动 private Dep dep; public void setDep(Dep dep) { this.dep = dep; } /** * 添加部门 */ public void add() { System.out.println(dep.getName() +"---"+dep.getTele()); try { depBiz.add(dep); returnOptionMessage(true, "添加成功!"); } catch (Exception e) { returnOptionMessage(false, "添加失败"); e.printStackTrace(); } } ``` ``` //部门的实体类 public class Dep { private Long uuid; //部门ID private String name; //部门名称 private String tele; //部门电话 public Long getUuid() { return uuid; } public void setUuid(Long uuid) { this.uuid = uuid; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getTele() { return tele; } public void setTele(String tele) { this.tele = tele; } ``` ![图片说明](https://img-ask.csdn.net/upload/201901/14/1547440773_383268.png)
求助!如何使用AJAX异步提交方法
这是前端,求大大帮我看看我的ajax代码使用哪里出错了,最好给出详细代码 ``` <script src="https://cdn.bootcss.com/jquery/1.12.4/jquery.min.js"></script> <script> function getZhi(){ var name = $("#name").val(); var place = $("#place").val(); var method = $("#method").val(); var number = $("#number").val(); var s = "来到" + place + name + "工地,现场" + method + ",拍照取证。" + "//六组/六组巡查照片/" + place + "/" + name + "/"+ number; alert(s); } $.ajax({ url : "intoA.php", type : "post", //提交方式get/post data : {date1:number,date2:s}, //提交后台参数var data = "" dataType : "json", //数据类型json success:function(s){ 后台成功返回的数据 } }); </script> <form class="contact_form" action="intoA.php" method="post" name="contact_form"><!--"#"用来 填处理表单数据的php文件--> <ul> <li> 姓名:<select size="1" input type="name" id="name"> <option></option> <option>姚锦堂</option> <option>姚钿深</option> <option>姚换章</option> <option>姚淦强</option> <option>姚灿伦</option> <option>姚志坤</option> <option>姚福全</option> <option>姚满权</option> <option>姚志良</option> <option>姚月培</option> <option>姚惠全</option> <option>姚桂祥</option> <option>姚桥旺</option> <option>刘见华</option> <option>刘天伟</option> <option>刘涌旺</option> <option>潘成泰</option> <option>潘国平</option> <option>潘庆堂</option> <option>张煜新</option> <option>杨道庭</option> <option>黄庆培</option> <option>曾德联</option> <option>陈仲汝</option> <option>李满堂</option> <option>企石中学</option> <option>东平村委会</option> <option>第七中学对面</option> <option>东莞市钜辉建设工程有限公司</option> </select> </li> <li> 地址:<select size="1" input type="place" id="place"> <option></option> <option>东山村</option> <option>清湖村</option> <option>新南村</option> <option>上截村</option> <option>下截村</option> <option>东平村</option> <option>上洞村</option> <option>南坑村</option> <option>霞朗村</option> <option>铁炉坑村</option> </select> </li> <li> 处理:<select size="1" input type="method" id="method"> <option></option> <option>无工人作业</option> <option>有1名工人作业,进行驱赶</option> <option>有3名工人作业,进行驱赶</option> <option>有5名工人作业,进行驱赶</option> <option>有7名工人作业,进行驱赶</option> <option>有12名工人作业,进行驱赶</option> <option>有14名工人作业,进行驱赶</option> <option>有16名工人作业,进行驱赶</option> <option>有18名工人作业,进行驱赶</option> <option>对工地进行勘验,制作笔录,下发了责令限期整改通知书(东综管责字[2017]第31-00000号)</option> </select> </li> <li> <label for="number">日期</label> <input id="number" name="number"> </li> <li> <button class="submit" type="submit">提交</button> </li> </ul> </form> </body> </html> ``` 这是后台php用于提交到数据库 ``` <?php $servername = "localhost"; $username = "root"; $password = "yy6788402"; $dbname = "A"; // 创建连接 $conn = new mysqli($servername, $username, $password, $dbname); // 检测连接 if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); } $date1 = $_POST['date1']; $date2 = $_POST['date2']; $sql = "INSERT INTO B SET message='$date2', date='$date1'"; if ($conn->query($sql) === TRUE) { echo "提交成功"; } else { echo "Error: " . $sql . "<br>" . $conn->error; } $conn->close(); ?> ``` 发生错误! ``` $date1 = $_POST['date1']; $date2 = $_POST['date2']; ``` ![](https://img-ask.csdn.net/upload/201712/02/1512194247_502477.png)
ajaxSubmit提交数据到后台为什么不执行success方法,只执行error方法
求大神解惑!!!!数据可以插入到数据库中,但是回调函数只执行error不执行success 页面js代码如下 var v = $('#myForm').validate({ submitHandler: function (form) { var date = $("#myForm").serialize(); //这里是jquery表单验证通过的时候执行的操作,比如这里,表单验证通过的时候执行了jquery的ajax的post操作 $(form).ajaxSubmit({ url:'addUser', date:date, type:'POST', dataType:'json', clearForm:true, resetForm:true, success : function(responseText,statusText){ if(responseText.status == "0"){ /** * 请求成功后的操作 */ alert('保存成功'); } else { alert('保存失败'); } }, error : function(xhr,status,err) { alert(xhr.responseText); alert(status); debugger; } }); } }); 后台action代码 @Action(value = "addUser") public void addUser(){ userInfoService.insertUser(userInfo); message = "success"; try { PrintWriter writer = response.getWriter(); writer.write(message); writer.flush(); writer.close(); } catch (IOException e) { e.printStackTrace(); } }
求助!如何把jquery生成的句子提交到数据库
下面的代码是前端,“var s =”生成了我需要的句子,但是生成的句子我不知道怎么把它提交到我的后台处理文件,我的后台处理文件intoA.PHP是用于把前端的信息提交到数据库,文件的物理路径F:\wamp64\www,本地浏览器位置localhost/intoA.php,代码在最下面展示。 请务必写出详细代码给我,我自己摸索了之前说的ajax异步提交方法,摸索了一天都提交不成功,包括代码放在什么位置,是否需要下载某些软件 ``` <title>HTML5 Contact Form</title> <style type="text/css"> .contact_form{border:1px solid #DDDDDD;padding:10px;width:760px;margin:40px auto 0 auto;} </style> <link rel="stylesheet" media="screen" href="styles.css" > </head> <body> <script src="https://cdn.bootcss.com/jquery/1.12.4/jquery.min.js"></script> <script> function getZhi(){ var name = $("#name").val(); var place = $("#place").val(); var method = $("#method").val(); var number = $("#number").val(); var s = "来到" + place + name + "工地,现场" + method + ",拍照取证。" + "//六组/六组巡查照片/" + place + "/" + name + "/"+ number; alert(s); } <input name="getZhi()"> </script> <form class="contact_form" action="intoA.php" method="post" name="contact_form"><!--"#"用来 填处理表单数据的php文件--> <ul> <li> 姓名:<select size="1" input type="name" id="name"> <option></option> <option>姚锦堂</option> <option>姚钿深</option> <option>姚换章</option> <option>姚淦强</option> <option>姚灿伦</option> <option>姚志坤</option> <option>姚福全</option> <option>姚满权</option> <option>姚志良</option> <option>姚月培</option> <option>姚惠全</option> <option>姚桂祥</option> <option>姚桥旺</option> <option>刘见华</option> <option>刘天伟</option> <option>刘涌旺</option> <option>潘成泰</option> <option>潘国平</option> <option>潘庆堂</option> <option>张煜新</option> <option>杨道庭</option> <option>黄庆培</option> <option>曾德联</option> <option>陈仲汝</option> <option>李满堂</option> <option>企石中学</option> <option>东平村委会</option> <option>第七中学对面</option> <option>东莞市钜辉建设工程有限公司</option> </select> </li> <li> 地址:<select size="1" input type="place" id="place"> <option></option> <option>东山村</option> <option>清湖村</option> <option>新南村</option> <option>上截村</option> <option>下截村</option> <option>东平村</option> <option>上洞村</option> <option>南坑村</option> <option>霞朗村</option> <option>铁炉坑村</option> </select> </li> <li> 处理:<select size="1" input type="method" id="method"> <option></option> <option>无工人作业</option> <option>有1名工人作业,进行驱赶</option> <option>有3名工人作业,进行驱赶</option> <option>有5名工人作业,进行驱赶</option> <option>有7名工人作业,进行驱赶</option> <option>有12名工人作业,进行驱赶</option> <option>有14名工人作业,进行驱赶</option> <option>有16名工人作业,进行驱赶</option> <option>有18名工人作业,进行驱赶</option> <option>对工地进行勘验,制作笔录,下发了责令限期整改通知书(东综管责字[2017]第31-00000号)</option> </select> </li> <li> <label for="number">日期</label> <input id="number" name="number"> </li> <li> <button class="submit" type="submit">提交</button> </li> </ul> </form> </body> </html> ``` 可以看到我下面是直接令“$getZhi() = $_POST['getZhi()'];”,这种方法是失败的,php并不能识别并提交生成的句子 ![图片说明](https://img-ask.csdn.net/upload/201712/02/1512211184_473341.png) 而下面令“$number = $_POST['number'];“是提交成功的(前端我有“< input id="number" name="number" >”),name=“number”使后面的php可以识别number是什么 **下面是我写的用于提交信息到数据库的后端,文件的物理路径F:\wamp64\www,本地浏览器位置localhost/intoA.php** ``` <?php $servername = "localhost"; $username = "root"; $password = "yy6788402"; $dbname = "A"; // 创建连接 $conn = new mysqli($servername, $username, $password, $dbname); // 检测连接 if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); } $getZhi() = $_POST['getZhi()']; $number = $_POST['number']; $sql = "INSERT INTO B SET message='$getZhi()', date='$number'"; if ($conn->query($sql) === TRUE) { echo "提交成功"; } else { echo "Error: " . $sql . "<br>" . $conn->error; } $conn->close(); ?> ``` 希望大家不要告诉我用什么方法,而是直接把代码写出来,我是超级小白,可能在大家眼中很简单的问题我要摸索个几天才有眉目
spring security中表单提交登录验证是怎样的一个过程
spring security登录验证中j_spring_security_check这是个什么,我查了好多,说是默认值,不明白的是,这个默认值是如何验证登录名与密码,并返回成功失败消息的,数据如何传输的,它是如何匹配控制器和数据库的,最起码需要和数据库中的数据比对才行吧,我这里是非常不理解,完全找不到头绪,我是刚接触spring securtity的,哪位大神能帮我解答下这个问题呀 提交动作代码 ``` $.ajax({ type:"POST", dataType:"text", url:"./j_spring_security_check", data:"j_password="+j_password+"&j_username="+$('#j_username').val(), success:function(data){ var da = $.parseJSON(data); if(da.authentication== "true"){ window.top.location.href="./home"; }else{ $("#err").empty(); $("#_password").val(""); $("#err").append("用户名或密码错误!"); } }, error:function(data){ alert("失败"); } }); ```
用Spring,Springmvc,mybatis实现新用户注册并验证保存
注册,将新用户输入的信息提交并进行验证,验证可采用验证框架也可采用validate,验证失败返回注册页面显示错误信息,验证成功后保存用户数据。 登陆,验证,失败后返回登陆页面显示错误信息,验证成功后保存用户信息至session。 登陆成功后,将所有用户数据展示给用户,列出用户详细信息,并分页。用拦截器判断,如果没有登陆的话返回登陆页面并提示用户没有登陆 1、Ioc注入全部采用Spring注解型注入。 2、使用mybatis持久层完成对数据库的操作 3、显示request对象数据使用EL表达式 4、使用Ajax框架Jquery完成异步提交 5、页面表单提交使用SpringMVC的rest传值方式。 6、工程结构com.zxkj.common.model、com.zxkj.common.dao、com.zxkj.common.dao.impl、com.zxkj.common.service、com.zxkj.common.service.impl、com.zxkj.common.controller 用户信息分两表保存 控件以及页面控制使用El表达式和标准标签库 ajax采用Jquery完成异步提交 必要时,使用easyui美化渲染页面。 数据库使用SqlServer2000以上版本
为什么点击按钮保存表单里的数据时,全部的数据都没有获取到,都是空的?
通过jQuert Ajax的POST请求将表单序列化,然后提交到后台时,所有数据都为空的是怎么回事? 这是大致的代码 ``` <html> <head> .... </head> <body> <div> <form id="nq_data"> <div class="col-md-6 form-group"> <label for="name">编号</label> <input type="text" class="form-control" id="openbeds_numbers" placeholder="0"> </div> <div class="col-md-6 form-group"> <label for="name">数目</label> <input type="text" class="form-control" id="pnurse_begin_totalnumbers" placeholder="0"> </div> </form> </div> <div class="col-md-12 form-group"> <button style="width: 150px" type="button" class="btn btn-default" onclick="savaData()">暂存</button> </div> <script type="text/javascript"> function savaData() { $.post("<%=basePath%>savaData.action", $("nq_data").serialize(),function(data){ if(data == "OK"){ alert("已成功保存!"); window.location.reload(); }else{ alert("保存失败!"); window.location.reload(); } }); } </script> </body> ```
form提交失败 保存不成功
代码以下: //定义一个form表单 var form= new FormData(); form.append("booksSoleNumber",booksSoleNumber); form.append("booksName",booksName); form.append("booksAuthor",booksAuthor); form.append("press",press); form.append("publishTime",publishTime); form.append("booksInventory",booksInventory); form.append("booksPrice",booksPrice); form.append("booksPagination",booksPagination); form.append("booksContentIntro",booksContentIntro); form.append("libraryId",libraryId); form.append("booksTypeId",booksId); form.append("holdingId",holdingId); form.append("pic",pic); var request= new XMLHttpRequest(); request.addEventListener("load", uploadComplete, false); request.addEventListener("error", uploadFailed, false);//监听错误 request.open("POST", url); request.send(form); function uploadComplete(evt) { alert("保存成功"); window.location.href="<%=path %>/books/findAllPageBooks.action"; } function uploadFailed(evt) { alert("保存失败"); } 没有保存数据,求大神解决
ajax返回500 (Internal Server Error)的问题
源码如下: $(function(){ $.validator.setDefaults({ submitHandler: function() { //表单验证成功并提交时执行 butsub(); } }); $("#submit_form_zzjs").validate(); var flag=true; function butsub(){ var formData = new FormData($("#submit_form_zzjs")[0]); if(flag){ $.ajax({ url: 'publish_server_chose.jsp', type: "POST", data: formData, cache: false, processData: false, contentType: false, beforeSend: function(){ flag=false; //防止发送两次请求 }, success: function (data) { flag = true; alert("发布成功!"); parent.location.href='personal_center_server.jsp'; }, error:function(){ alert("请先入驻实验室!"); } }); } } }); publish_server_chose.jsp: System.out.println("开始处理..."); String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; String trid=request.getSession().getAttribute("trid").toString(); if("".equals(trid)){ response.sendRedirect("login.jsp"); } int user_trid=Integer.parseInt(trid); System.out.println(user_trid); ci.adp.Table table = ci.adp.Table.getInstance("UT_JCW_SERVE"); DataRow row_one=Table.getInstance("ut_jcw_facilitor").queryDataRow("USERID="+user_trid+" AND PUBSTATE='已发布'"); DataRow row_two=table.newDataRow(); row_two.setValue("SSCID", row_one.getValueInt("TRID")); row_two.setValue("STATE", "正在审核"); row_two.setValue("ISDELETE", "否"); String message=""; //生成文件保存目录 String savePath = getServletConfig().getServletContext() .getRealPath("upload_publish"); //上传时生成的临时文件保存目录 String tempPath = getServletConfig().getServletContext() .getRealPath("temp_publish"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM"); String ymd = sdf.format(new Date()); savePath += "/" + ymd + ""; //创建文件夹 File dirFile = new File(savePath); if (!dirFile.exists()) { dirFile.mkdirs(); } tempPath += "/" + ymd + ""; //创建临时文件夹 File dirTempFile = new File(tempPath); if (!dirTempFile.exists()) { dirTempFile.mkdirs(); } //创建一个DiskFileItemFactory工厂,文件解析 DiskFileItemFactory factory = new DiskFileItemFactory(); factory.setSizeThreshold(20 * 1024 * 1024); //设定使用内存超过5M时,将产生临时文件并存储于临时目录中。 factory.setRepository(new File(tempPath)); //设定存储临时文件的目录。 ServletFileUpload upload = new ServletFileUpload(factory); upload.setHeaderEncoding("UTF-8"); upload.setFileSizeMax(1024 * 1024); // try { List<FileItem> items = upload.parseRequest(request); //获取formdata表单内容 for (FileItem item : items) { if (item.isFormField()) { //普通文本 String name = item.getFieldName(); String value = item.getString("UTF-8");//解决普通输入项的数据的中文乱码问题 if("bigclass".equals(name)){ row_two.setValue("DETAIL", value); }else if("smallclass_zzjs_net".equals(name)){ row_two.setValue("TYPEID", value); } row_two.setValue(name, value); System.out.println(name+"="+value); } else { //附件文件 if (item.getSize() > 0) { String filename = item.getName(); String fileFileName = item.getFieldName(); //获取name属性名称 if (filename.equals("")) { filename = "file"; } //获取文件名部分 filename = filename.substring(filename .lastIndexOf("\\") + 1); String fileExtName = filename.substring(filename .lastIndexOf(".")); System.out.println(filename); System.out.println(fileFileName); InputStream in = item.getInputStream(); String saveFilename = makeFileName(); saveFilename = URLEncoder.encode(saveFilename, "UTF-8"); //转码 //得到文件的保存目录 String realSavePath = makePath(saveFilename, savePath); String file_path = realSavePath + "" + saveFilename + fileExtName; file_path = file_path.replaceAll("\\\\", "/"); file_path=file_path.substring(file_path.indexOf("upload")); System.out.println(file_path); if ("IMAGE".equals(fileFileName)) { row_two.setValue("IMAGE", file_path); } //创建一个文件输出流 ,文件路径+生产的文件名.后缀 FileOutputStream out1 = new FileOutputStream( realSavePath + "" + saveFilename + fileExtName); //创建一个缓冲区 byte buffer[] = new byte[1024]; //判断输入流中的数据是否已经读完的标识 int len = 0; //循环将输入流读入到缓冲区当中,(len=in.read(buffer))>0就表示in里面还有数据 while ((len = in.read(buffer)) > 0) { //使用FileOutputStream输出流将缓冲区的数据写入到指定的目录(savePath + "\\" + filename)当中 out1.write(buffer, 0, len); } in.close(); out1.close(); message = "文件上传成功!"; } } } row_two.update(); JSONObject obj=new JSONObject(); obj.put("data",message ); out.println(obj); } catch (FileUploadBase.FileSizeLimitExceededException e) { response.getWriter().print("单个文件超出最大值!!!"); return; } catch (FileUploadBase.SizeLimitExceededException e) { e.printStackTrace(); response.getWriter().print("上传文件的总的大小超出限制的最大值!!!"); return; } catch (Exception e) { response.getWriter().print("文件上传失败!"); e.printStackTrace(); } 执行ajax,返回publish_server_chose.jsp 500 (Internal Server Error),已困扰一周时间,求大神点拨。
用Spring SpringMVC MyBatis 实现用户注册登录并保存验证。 求代码 谢大神
注册,将新用户输入的信息提交并进行验证,验证可采用验证框架也可采用validate,验证失败返回注册页面显示错误信息,验证成功后保存用户数据。 登陆,验证,失败后返回登陆页面显示错误信息,验证成功后保存用户信息至session。 登陆成功后,将所有用户数据展示给用户,列出用户详细信息,并分页。用拦截器判断,如果没有登陆的话返回登陆页面并提示用户没有登陆 1、Ioc注入全部采用Spring注解型注入。 2、使用mybatis持久层完成对数据库的操作 3、显示request对象数据使用EL表达式 4、使用Ajax框架Jquery完成异步提交 5、页面表单提交使用SpringMVC的rest传值方式。 6、工程结构com.zxkj.common.model、com.zxkj.common.dao、com.zxkj.common.dao.impl、com.zxkj.common.service、com.zxkj.common.service.impl、com.zxkj.common.controller 用户信息分两表保存 控件以及页面控制使用El表达式和标准标签库 ajax采用Jquery完成异步提交 必要时,使用easyui美化渲染页面。 数据库使用SqlServer2000以上版本
求助!如何把js的变量提交到php后台处理文件,求大神帮忙,已经摸索三天毫无头绪
# 须知:在下是超级小白,希望各位大大把我的代码修改好再发出来给我,我已经摸索了3天,因天资愚钝实在没有办法,怎么也不能把JS变量提交到PHP处理 我自己摸索打出来的代码,用ajax的异步提交法一直不成功,不能把js的变量提交到php后台, 之前使用form便签的action=“intoA.php”可以提交常值< input name=number >之类的, 目的: 我需要把输入的常量通过JS生成一句话,再把这句话提交到PHP文件,通过PHP提交到数据库,下面是我写的代码,需要提交的变量是"Var s =....."生成的句子 问题: 现在的主要问题就是我尝试了很多次,都不能把JS变量提交到PHP进行处理 php代码是没有问题的,我已经测试过可以提交常量到数据库,也可以通过web前端把常量提交到PHP后台文件 我使用的是wampsever集成开发软件,php 和 web都存在www文件夹里面,所以php文件的url应该是url:intoA.PHP 前端 ``` <title>HTML5 Contact Form</title> <style type="text/css"> .contact_form{border:1px solid #DDDDDD;padding:10px;width:760px;margin:40px auto 0 auto;} </style> <link rel="stylesheet" media="screen" href="styles.css" > </head> <body> <script src="https://cdn.bootcss.com/jquery/1.12.4/jquery.min.js"></script> <script> function getZhi(){ var name = $("#name").val(); var place = $("#place").val(); var method = $("#method").val(); var number = $("#number").val(); var s = "来到" + place + name + "工地,现场" + method + ",拍照取证。" + "//六组/六组巡查照片/" + place + "/" + name + "/"+ number; $.ajax({ type: "POST", url: "intoA.PHP", data: "message=s&number=number", success: function(msg){ alert( "Data Saved: " + msg ); } }); }); </script> <form class="contact_form" action="" method="post" name="contact_form"><!--"#"用来 填处理表单数据的php文件--> <ul> <li> 姓名:<select size="1" input type="name" id="name"> <option></option> <option>姚锦堂</option> <option>姚钿深</option> <option>姚换章</option> <option>姚淦强</option> <option>姚灿伦</option> <option>姚志坤</option> <option>姚福全</option> <option>姚满权</option> <option>姚志良</option> <option>姚月培</option> <option>姚惠全</option> <option>姚桂祥</option> <option>姚桥旺</option> <option>刘见华</option> <option>刘天伟</option> <option>刘涌旺</option> <option>潘成泰</option> <option>潘国平</option> <option>潘庆堂</option> <option>张煜新</option> <option>杨道庭</option> <option>黄庆培</option> <option>曾德联</option> <option>陈仲汝</option> <option>李满堂</option> <option>企石中学</option> <option>东平村委会</option> <option>第七中学对面</option> <option>东莞市钜辉建设工程有限公司</option> </select> </li> <li> 地址:<select size="1" input type="place" id="place"> <option></option> <option>东山村</option> <option>清湖村</option> <option>新南村</option> <option>上截村</option> <option>下截村</option> <option>东平村</option> <option>上洞村</option> <option>南坑村</option> <option>霞朗村</option> <option>铁炉坑村</option> </select> </li> <li> 处理:<select size="1" input type="method" id="method"> <option></option> <option>无工人作业</option> <option>有1名工人作业,进行驱赶</option> <option>有3名工人作业,进行驱赶</option> <option>有5名工人作业,进行驱赶</option> <option>有7名工人作业,进行驱赶</option> <option>有12名工人作业,进行驱赶</option> <option>有14名工人作业,进行驱赶</option> <option>有16名工人作业,进行驱赶</option> <option>有18名工人作业,进行驱赶</option> <option>对工地进行勘验,制作笔录,下发了责令限期整改通知书(东综管责字[2017]第31-00000号)</option> </select> </li> <li> <label for="number">日期</label> <input id="number" name="number"> </li> <li> <button class="submit" type="submit">提交</button> </li> </ul> </form> </body> </html> ``` -- -- 这是后端 ``` <?php $servername = "localhost"; $username = "root"; $password = "yy6788402"; $dbname = "A"; // 创建连接 $conn = new mysqli($servername, $username, $password, $dbname); // 检测连接 if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); } $message = $_POST['message']; $number = $_POST['number']; $sql = "INSERT INTO B SET message='$message', date='$number'"; if ($conn->query($sql) === TRUE) { echo "提交成功"; } else { echo "Error: " . $sql . "<br>" . $conn->error; } $conn->close(); ?> ``` 提交后数据库并没有收到任何信息,提交页面点击提交后也没有任何反应 ![图片说明](https://img-ask.csdn.net/upload/201712/03/1512242713_744820.png) # 须知:在下是超级小白,希望各位大大把我的代码修改好再发出来给我,我已经摸索了3天,因天资愚钝实在没有办法,怎么也不能把JS变量提交到PHP处理
表单改成异步出现了问题
[code=html] <div id="mySidenav" class="sidenav"> <form name="user_info" action="Admin.class.php?do=xinjian" method="post"> <table class="user_add"> <a href="javascript:void(0)" class="closebtn" onclick="closeNav()">&times;</a> <tr> <th style="width: 75px;">用户名</th> <th><input type="text" class="form-control" name='auser' id="auser" required></th> <th style="width: 75px;">密码</th> <th><input type="password" class="form-control" name='apass' id="apass" required></th> </tr> <tr> <th>姓名</th> <th><input type="text"class="form-control" name='username' id="username" required></th> <th>邮件</th> <th><input type="text"class="form-control" name='useremail' id="useremail" required></th> </tr> <tr> <th>电话</th> <th><input type="text"class="form-control" name='phone' id="phone" required></th> <th>手机</th> <th><input type="text"class="form-control" name='iphone' id="iphone" required></th> </tr> <tr> <th>部门</th> <th> <select name="classbu"> <option value="技术部">技术部</option> <option value="财务部">财务部</option> <option value="人力部">人力部</option> </select> </th> <th>科室</th> <th> <select name="classke"> <option value="开发科">开发科</option> <option value="会计科">会计科</option> <option value="行政科">行政科</option> </select> </th> </tr> <tr> <th><input type='submit' onclick="saveUserInfo()" value='提交'></th> </tr> </table> </form> </div> [/code] [code=javascript] function saveUserInfo() { //获取接受返回信息层 //获取表单对象和用户信息值 var f = document.user_info; var user = f.user.value; var apass = f.apass.value; var useremail = f.useremail.value; var phone = f.phone.value; var iphone = f.iphone.value; var username = f.username.value; var classbu = f.classbu.value; var classke = f.classke.value; //接收表单的URL地址 var url = "../../class/Admin.class.php?do=xinjian"; //需要POST的值,把每个变量都通过&来联接 var postStr = "user="+ user +"&apass="+ apass +"&usermemail="+ useremail+"&phone="+ phone +"&iphone="+ iphone +"&username="+ username +"&classbu="+ classbu +"&classke="+ classke ; //实例化Ajax //var ajax = InitAjax(); var ajax = false; //开始初始化XMLHttpRequest对象 if(window.XMLHttpRequest) { //Mozilla 浏览器 ajax = new XMLHttpRequest(); if (ajax.overrideMimeType) {//设置MiME类别 ajax.overrideMimeType("text/xml"); } } else if (window.ActiveXObject) { // IE浏览器 try { ajax = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { ajax = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {} } } if (!ajax) { // 异常,创建对象实例失败 window.alert("不能创建XMLHttpRequest对象实例."); return false; } //通过Post方式打开连接 ajax.open("POST", url, true); //定义传输的文件HTTP头信息 ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); //发送POST数据 ajax.send(postStr); //获取执行状态 ajax.onreadystatechange = function() { //如果执行状态成功,那么就把返回信息写到指定的层里 if (ajax.readyState == 4 && ajax.status == 200) { postStr.innerHTML = ajax.responseText; } } } [/code]
easyui回显数据,下拉框中内容第一次加载不出来,刷新一次才可以,求解决!!!
``` <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="CreatePsyjs.aspx.cs" Inherits="RM_CNOOC.EDOC.RMDOC.CreatePsyjs" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE10;text/html; charset=utf-8"/> <meta http-equiv="X-UA-Compatible" content="IE=edge;text/html; charset=utf-8"/> <title></title> <link rel="stylesheet" type="text/css" href="../../Scripts/easyui/easyui.css"/> <link rel="stylesheet" type="text/css" href="../../Scripts/easyui/icon.css"/> <link rel="stylesheet" type="text/css" href="../../Scripts/easyui/color.css"/> <link rel="stylesheet" type="text/css" href="../../Scripts/easyui/demo.css"/> <script type="text/javascript" src="../../Scripts/easyui/jquery.min.js"></script> <script type="text/javascript" src="../../Scripts/easyui/jquery.easyui.min.js"></script> <script type="text/javascript" src="../../Scripts/easyui/datagrid-filter.js"></script> <style type="text/css"> .divcss5{width:1610px} .wby{color:rgb(128, 128, 128)} </style> </head> <body style="font-family:微软雅黑,'Times New Roman', Times, serif;"> <form id="fm" method="post" style="margin-top:10px;padding:0px 50px" runat="server"> <div style="margin-bottom:10px"> <div style="margin-bottom:10px"> &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp 报告名称:<input name="bgmc" id="bgmc" class="easyui-textbox" data-options="multiline:true,valueField:'value', textField:'text',required:true" style="width:90.3%"/> </div> <div style="margin-bottom:10px"> &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp 储量类型: <select name="cllx" id="cllx" class="easyui-combobox" data-options="valueField:'value', textField:'text',editable:false,required:true" style="width:15%"> <option value="00">>>>请选择<<<</option> <option value="0">新增</option> <option value="1">复算</option> <option value="2">核算</option> <option value="3">新增、复算</option> <option value="4">新增、核算</option> <option value="5">复算、核算</option> <option value="6">新增、复算、核算</option> </select> &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp 油气类别: <select name="id_yqlb" id="id_yqlb" class="easyui-combobox" data-options="valueField:'value', textField:'text',editable:false,required:true" style="width:15%"> <option value="1">石油</option> <option value="2">天然气</option> <option value="3">石油和天然气</option> </select> &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp 申报单位:<select name="sbdw" id="sbdw" class="easyui-combobox" data-options="valueField:'value', textField:'text',editable:false,required:true" style="width:40%"> <option value="1">中海石油(中国)有限公司</option> <option value="2">中国海洋石油总公司</option> <option value="3">中国海洋石油集团公司</option> <option value="4">中国海洋石油总公司、中海石油(中国)有限公司</option> <option value="5">中国海洋石油集团公司、中海石油(中国)有限公司</option> </select> </div> <div style="margin-bottom:10px"> &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp 评审时间:<input name="pssj" id="pssj" class="easyui-datebox" data-options="editable:false,required:true" style="width:15%"/> &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp 评审会议地址: <select name="pshydz" id="pshydz" class="easyui-combobox" data-options="valueField:'value', textField:'text',editable:false,required:true" style="width:15%"> <option value="1">北京</option> <option value="2">天津</option> <option value="3">上海</option> <option value="4">深圳</option> <option value="5">湛江</option> </select> &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp 编写单位:<select name="bxdw" id="bxdw" class="easyui-combobox" data-options="valueField:'value', textField:'text',editable:false,required:true" style="width:40%"> <option value="1">中海石油(中国)有限公司天津分公司</option> <option value="2">中海石油(中国)有限公司湛江分公司</option> <option value="3">中海石油(中国)有限公司深圳分公司</option> <option value="4">中海石油(中国)有限公司上海分公司</option> <option value="5">中联煤层气责任有限公司</option> </select> </div> <div style="margin-bottom:10px" class="d1"> &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp 评审汇报人:<input name="pshbr" id="pshbr" class="easyui-textbox" data-options="valueField:'value', textField:'text',required:true" style="width:15%"/> &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp 评审专家组组长:<select name="pszjzzz" id="pszjzzz" data-options="valueField:'value', textField:'text',editable:false,required:true" style="width:15%;"> </select> &nbsp&nbsp&nbsp&nbsp&nbsp 专家组成员:<select name="pszjzcy" id="pszjzcy" data-options="multiple:true,valueField:'value', textField:'text',editable:false" style="width:37%;"> </select> <a id="zjzcy_add" href="javascript:OpenAddZjzcy(0);" class="easyui-linkbutton" data-options="iconCls:'icon-add',plain:'true'" style="width:26px;height:26px">新增</a> </div> <div style="margin-bottom:10px"> 评审机构负责人:<input name="psjgfzr" id="psjgfzr" class="easyui-textbox" data-options="valueField:'value', textField:'text',required:true" style="width:15%"/> &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp 会议主持人:<input name="hyzcr" id="hyzcr" class="easyui-textbox" data-options="valueField:'value', textField:'text',required:true" style="width:15%"/> &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp 申报日期 : <input name="sbrq" id="sbrq" class="easyui-datebox" data-options="editable:false,required:true" style="width:10%"/> &nbsp&nbsp&nbsp&nbsp 会议日期 : <input name="hyrq01" id="hyrq01" class="easyui-datebox" data-options="editable:false,required:true" style="width:10%"/>~ <input name="hyrq02" id="hyrq02" class="easyui-datebox" data-options="editable:false,required:true" style="width:10%"/> </div> <div style="margin-bottom:10px" class="d1"> 评审意见书执笔人: <select name="psyjszbr" id="psyjszbr" data-options="valueField:'value', textField:'text',editable:false,required:true" style="width:12%"> <option>>>>请选择<<<</option> </select> <a id="psyjszbr_add" href="javascript:OpenAddZjzcy(1);" class="easyui-linkbutton" data-options="iconCls:'icon-add',plain:'true'" style="width:26px;height:26px">新增</a> </div> <hr /> <div class="divcss5"> <div style="margin-bottom:10px"> <h2>一、油田申报区概况 </h2> </div> (一)位置、交通和自然地理概况: <div class="wby" style="margin-bottom:10px"> <input name="wzjtdl" id="wzjtdl" class="easyui-textbox" value="无" data-options="multiline:true,valueField:'value', textField:'text',editable:true,required:true" style="width:50%;height:150%"/> 示例说明:xx油田申报区位于中国xx海域,距香港约xxkm....... </div> (二)地质概况: <div class="wby" style="margin-bottom:10px"> <input name="dlgk" id="dlgk" class="easyui-textbox" value="无" data-options="multiline:true,valueField:'value', textField:'text',editable:true,required:true" style="width:50%;height:150%"/>示例说明: </div> (三)储层基本特征: <div class="wby" style="margin-bottom:10px"> <input name="ccjbtz" id="ccjbtz" class="easyui-textbox" value="无" data-options="multiline:true,valueField:'value', textField:'text',editable:true,required:true" style="width:50%;height:150%"/>示例说明: </div> (四)油藏特征: <div class="wby" style="margin-bottom:10px"> <input name="yctz" id="yctz" class="easyui-textbox" value="无" data-options="multiline:true,valueField:'value', textField:'text',editable:true,required:true" style="width:50%;height:150%"/>示例说明: </div> (五)共伴生矿产资源简况: <div class="wby" style="margin-bottom:10px"> <input name="gbskczy" id="gbskczy" class="easyui-textbox" value="申报区目的层系内尚未发现除油气以外的共伴生矿产资源。" data-options="multiline:true,valueField:'value', textField:'text',editable:true,required:true" style="width:50%;height:150%"/>示例说明: </div> <div style="margin-bottom:10px"> <h2>二、油田勘探开发利用简况 </h2> </div> (一)以往勘探工作: <div class="wby" style="margin-bottom:10px"> <input name="ywktgz" id="ywktgz" class="easyui-textbox" value="无" data-options="multiline:true,valueField:'value', textField:'text',editable:true,required:true" style="width:50%;height:150%"/>示例说明: </div> (二)油田开发利用简况: <div class="wby" style="margin-bottom:10px"> <input name="ytkfly" id="ytkfly" class="easyui-textbox" value="无" data-options="multiline:true,valueField:'value', textField:'text',editable:true,required:true" style="width:50%;height:150%"/>示例说明: </div> (三)毗邻油田的有用信息: <div class="wby" style="margin-bottom:10px"> <input name="plytyyxx" id="plytyyxx" class="easyui-textbox" value="无" data-options="multiline:true,valueField:'value', textField:'text',editable:true,required:true" style="width:50%;height:150%"/>示例说明: </div> (四)本次工作情况:<br /> <h3>1.矿业权情况</h3> <div id="div_kyq"></div> <div style="margin-bottom:10px"> <h3>2.与生态环境保护区重叠情况</h3> <select name="sthjbhq" id="sthjbhq" class="easyui-combobox" data-options="valueField:'value', textField:'text',editable:false,required:true" style="width:7%"> <option value="1">有</option> <option value="2">无</option> </select> </div> <div style="margin-bottom:10px" id="div_id_sthjbhqmc"> 生态环境保护区名称:<input name="sthjbhqmc" id="sthjbhqmc" class="easyui-textbox" data-options="valueField:'value', textField:'text',editable:true,required:true" style="width:15%"/> </div> </div> <h3>3.勘探工作情况(申报区已完成的勘探工作量和取资料情况如下:)</h3> (1)地震: <div class="wby" style="margin-bottom:10px"> <input name="ktgz_dz" id="ktgz_dz" class="easyui-textbox" value="无" data-options="multiline:true,valueField:'value', textField:'text',editable:true,required:true" style="width:72%;height:150%"/>示例说明: </div> (2)钻井: <div class="wby" style="margin-bottom:10px"> <input name="ktgz_zj" id="ktgz_zj" class="easyui-textbox" value="无" data-options="multiline:true,valueField:'value', textField:'text',editable:true,required:true" style="width:72%;height:150%"/>示例说明: </div> (3)测井: <div class="wby" style="margin-bottom:10px"> <input name="ktgz_cj" id="ktgz_cj" class="easyui-textbox" value="无" data-options="multiline:true,valueField:'value', textField:'text',editable:true,required:true" style="width:72%;height:150%"/>示例说明: </div> (4)测试: <div class="wby" style="margin-bottom:10px"> <input name="ktgz_cs" id="ktgz_cs" class="easyui-textbox" value="无" data-options="multiline:true,valueField:'value', textField:'text',editable:true,required:true" style="width:72%;height:150%"/>示例说明: </div> (5)分析化验: <div class="wby" style="margin-bottom:10px"> <input name="ktgz_fxhy" id="ktgz_fxhy" class="easyui-textbox" value="无" data-options="multiline:true,valueField:'value', textField:'text',editable:true,required:true" style="width:72%;height:150%"/>示例说明: </div> <div id="div_id_xzgzl"> <div id="div_top_id_xzgzl"></div> </div> <div class="wby" style="margin-bottom:10px"> <input name="ktgz_yfhsqxb" id="ktgz_yfhsqxb" class="easyui-textbox" data-options="multiline:true,valueField:'value', textField:'text',editable:true,required:true" style="width:72%;height:150%"/>示例说明: </div> <div style="margin-bottom:10px"> <h2>三、储量申报情况</h2> </div> <div style="margin-bottom:10px"> (一)产量起算标准 </div> <div style="margin-bottom:10px"> 储量计算截止日期: <input name="cljsjzrq" id="cljsjzrq" class="easyui-datebox" data-options="editable:false,required:true" style="width:10%" /> 地质储量计算方法: <select name="dzcljsff" id="dzcljsff" class="easyui-combobox" data-options="valueField:'value', textField:'text',editable:false,required:true" style="width:10%"> <option value="1">容积法</option> <option value="2">动态法</option> <option value="3">概率法</option> </select> </div> <div style="margin-bottom:10px"> <select name="id_clqsbz_y" id="id_clqsbz_y" class="easyui-combobox" data-options="valueField:'value', textField:'text',editable:false" style="width:20%"> <option value="1">≤500m-2.5</option> <option value="2">>500m~≤1000-4.0</option> <option value="4">>1000m~≤2000-7.5</option> <option value="5">>2000m~≤3000-12.5</option> <option value="6">>3000m~≤4000-17.5</option> <option value="7">>4000m-25.0</option> </select>埋藏深度;单井油产量 <select name="id_clqsbz_q" id="id_clqsbz_q" class="easyui-combobox" data-options="valueField:'value', textField:'text',editable:false" style="width:20%"> <option value="1">≤500m-0.3</option> <option value="2">>500m~≤1000-0.5</option> <option value="3">>1000m~≤2000-1.0</option> <option value="4">>2000m~≤3000-2.0</option> <option value="5">>3000m~≤4000-2.5</option> <option value="6">>4000m-3.5</option> </select>&nbsp&nbsp 埋藏深度;单井气产量 </div> (二)储量估算结果<br /> <div style="margin-bottom:10px"> &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp 新增储量名称:<input name="xzclmc" id="xzclmc" class="easyui-textbox" data-options="valueField:'value', textField:'text',editable:true,required:true" style="width:30.5%"/> </div> <div style="margin-bottom:10px"> &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp 矿权类别:<input name="kqlb" id="kqlb" class="easyui-textbox" data-options="valueField:'value', textField:'text',editable:true,required:true" style="width:10%"/> &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp 海域: <select name="hy" id="hy" class="easyui-combobox" data-options="valueField:'value', textField:'text',editable:false,required:true" style="width:10%"> <option value="1">渤海</option> <option value="2">东海</option> <option value="3">黄海</option> <option value="4">南海</option> </select> </div> (三)储量参数选取:<br /> 1.储量状态界定: <div class="wby" style="margin-bottom:10px"> <input name="clztjd" id="clztjd" class="easyui-textbox" value="无" data-options="multiline:true,valueField:'value', textField:'text',editable:true,required:true" style="width:72%;height:150%"/>示例说明: </div> 2.计算单元划分: <div class="wby" style="margin-bottom:10px"> <input name="jsdyhf" id="jsdyhf" class="easyui-textbox" value="无" data-options="multiline:true,valueField:'value', textField:'text',editable:true,required:true" style="width:72%;height:150%"/>示例说明: </div> 3.含油面积圈定: <div class="wby" style="margin-bottom:10px"> <input name="hymjqd" id="hymjqd" class="easyui-textbox" value="无" data-options="multiline:true,valueField:'value', textField:'text',editable:true,required:true" style="width:72%;height:150%"/>示例说明: </div> 4.有效厚度: <div class="wby" style="margin-bottom:10px"> <input name="yxhd" id="yxhd" class="easyui-textbox" value="无" data-options="multiline:true,valueField:'value', textField:'text',editable:true,required:true" style="width:72%;height:150%"/>示例说明: </div> 5.有效孔隙度: <div class="wby" style="margin-bottom:10px"> <input name="yxkxd" id="yxkxd" class="easyui-textbox" value="无" data-options="multiline:true,valueField:'value', textField:'text',editable:true,required:true" style="width:72%;height:150%"/>示例说明: </div> 6.原始含油饱和度: <div class="wby" style="margin-bottom:10px"> <input name="yshybhd" id="yshybhd" class="easyui-textbox" value="无" data-options="multiline:true,valueField:'value', textField:'text',editable:true,required:true" style="width:72%;height:150%"/>示例说明: </div> 7.地面原油密度、原始原油体积系数和气油比: <div class="wby" style="margin-bottom:10px"> <input name="dmyymd_ysyytjxshqyb" id="dmyymd_ysyytjxshqyb" class="easyui-textbox" value="无" data-options="multiline:true,valueField:'value', textField:'text',editable:true,required:true" style="width:72%;height:150%"/>示例说明: </div> 8.技术可采储量: <div class="wby" style="margin-bottom:10px"> <input name="jskccl" id="jskccl" class="easyui-textbox" value="无" data-options="multiline:true,valueField:'value', textField:'text',editable:true,required:true" style="width:72%;height:150%"/>示例说明: </div> 9.经济可采储量: <div class="wby" style="margin-bottom:10px"> <input name="jjkccl" id="jjkccl" class="easyui-textbox" value="无" data-options="multiline:true,valueField:'value', textField:'text',editable:true,required:true" style="width:72%;height:150%"/>示例说明: </div> <div id="div_id_clbhyyfx"> <div id="div_top_id_clbhyyfx"></div> 地质储量变化原因: <div style="margin-bottom:10px"> <input name="dzclbhyyfx" id="dzclbhyyfx" class="easyui-textbox" value="无" data-options="multiline:true,valueField:'value', textField:'text',editable:true,required:true" style="width:72%;height:150%"/><br /> </div> 可采储量变化原因: <div style="margin-bottom:10px"> <input name="kcclbhyyfx" id="kcclbhyyfx" class="easyui-textbox" value="无" data-options="multiline:true,valueField:'value', textField:'text',editable:true,required:true" style="width:72%;height:150%"/><br /> </div> </div> <div style="margin-bottom:10px"> <h2>四、储量报告评审情况</h2> </div> <h3>调查</h3> <div style="margin-bottom:10px"> &nbsp 油田类型: <select name="ytlx" id="ytlx" class="easyui-combobox" data-options="valueField:'value', textField:'text',editable:false,required:true" style="width:10%"> <option value="00">>>>请选择<<<</option> <option value="1">中型</option> <option value="2">大型</option> </select> &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp 调查日期: <input name="dc_rq01" id="dc_rq01" class="easyui-datebox" data-options="required:true" style="width:10%"/>至 <input name="dc_rq02" id="dc_rq02" class="easyui-datebox" data-options="required:true" style="width:10%"/> </div> <div style="margin-bottom:10px"> 调查组组长:<input name="dc_zz" id="dc_zz" class="easyui-textbox" data-options="required:true" style="width:10%"/> &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp 成员:<input name="dc_cy" id="dc_cy" class="easyui-textbox" data-options="valueField:'value', textField:'text',editable:true,required:true" style="width:21%"/> 调查现场: <input name="dc_xc" id="dc_xc" class="easyui-textbox" data-options="valueField:'value', textField:'text',editable:true,required:true" style="width:19%"/> </div> <h3>主要评审意见</h3> <div style="margin-bottom:10px"> 参数是否有修改: 没有<input type="radio"name="zypsyj" value="0" /> 有<input type="radio"name="zypsyj" value="1" checked="checked"/> </div> 申报区为: <div class="wby" style="margin-bottom:10px"> <input name="sbq" id="sbq" class="easyui-textbox" data-options="multiline:true,valueField:'value', textField:'text',editable:true" style="width:72%;height:150%"/>示例说明: </div> <div style="margin-bottom:10px"> 申报的储量报告包括主报告1份、附图表册1份,还包括: <input name="sbcl" id="sbcl" class="easyui-textbox" data-options="valueField:'value', textField:'text',editable:true,required:true" style="width:20%"/> </div> 评审组认为: <div class="wby" style="margin-bottom:10px"> <input name="psz_yj" id="psz_yj" class="easyui-textbox" value="无" data-options="multiline:true, textField:'text',editable:true,required:true" style="width:72%;height:150%"/>示例说明: </div> <h2>六、说明与建议</h2> <div style="margin-bottom:10px"> 注意材料: <input name="zycl" id="zycl" class="easyui-textbox"data-options="valueField:'value', textField:'text',editable:true,required:true" style="width:10%"/> </div> <h3>附件</h3> <div style="margin-bottom:10px"> 与矿业权许可证范围叠合图(局部放大): 无<input type="radio"name="fj_kyqxkz_jb" value="0" /> 有<input type="radio"name="fj_kyqxkz_jb" value="1" checked="checked"/> </div> <div style="margin-bottom:10px"> &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp 与海域范围叠合图(局部放大): 无<input type="radio"name="fj_hy_jb" value="0" /> 有<input type="radio"name="fj_hy_jb" value="1" checked="checked"/> </div> </div> <input type="hidden" name="bgmc_text01" id="bgmc_text01" /> <input type="hidden" name="bgmc_text02" id="bgmc_text02" /> <input type="hidden" name="sbdw_text" id="sbdw_text" /> <input type="hidden" name="bxdw_text" id="bxdw_text" /> <input type="hidden" name="cllx_text" id="cllx_text" /> <input type="hidden" name="pszjzzz_text" id="pszjzzz_text" /> <input type="hidden" name="xzcy" id="xzcy" /> <input type="hidden" name="pszjzcy_text" id="pszjzcy_text" /> <input type="hidden" name="yqlb_text" id="yqlb_text" /> <input type="hidden" name="psyjszbr_text" id="psyjszbr_text" /> <input type="hidden" name="xzzbr" id="xzzbr" /> <input type="hidden" name="id_clqsbz_text" id="id_clqsbz_text" /> <input type="hidden" name="id_clqsbz_y_text" id="id_clqsbz_y_text" /> <input type="hidden" name="id_clqsbz_q_text" id="id_clqsbz_q_text" /> <input type="hidden" name="dzcljsff_text" id="dzcljsff_text" /> <input type="hidden" name="hy_text" id="hy_text" /> <input type="hidden" name="pshydz_text" id="pshydz_text" /> <input type="hidden" name="ytlx_text" id="ytlx_text" /> </form> <div id="dlg-buttons"> <a id="btn_add_doc" href="javascript:saveDoc()" class="easyui-linkbutton c6" data-options="iconCls:'icon-ok'" style="width:90px">保存</a> <a id="btn_export_doc" href="javascript:exportDoc();" data-options="iconCls:'icon-ok'" class="easyui-linkbutton c6" style="width:90px">导出</a> </div> <div id="div_addCY01" class="easyui-dialog" style="width:600px" data-options="closed:true,modal:true,border:'thin'"> <form id="fm1" enctype="multipart/form-data" style="margin:10px 0px;padding:0px 50px" method="post"> 专家组成员: <div style="margin-bottom:10px"> <input id="pszjzxzcy" name="fm1_pszjzxzcy" class="easyui-textbox" multiple:'multiple'" style="width:80%"/> <a id="save" href="javascript:AddZjzcy(0)" class="easyui-linkbutton c6" data-options="iconCls:'icon-ok'" style="width:80px">保存</a> </div> </form> </div> <div id="div_addCY02" class="easyui-dialog" style="width:600px" data-options="closed:true,modal:true,border:'thin',buttons:'#div_save'"> <form id="fm2" enctype="multipart/form-data" style="margin:10px 0px;padding:0px 50px" method="post"> 评审意见书执笔人: <div style="margin-bottom:10px"> <input id="psyjsxzzbr" name="fm2_psyjsxzzbr" class="easyui-textbox" multiple:'multiple'" style="width:80%"/> <a id="save1" href="javascript:AddZjzcy(1)" class="easyui-linkbutton c6" data-options="iconCls:'icon-ok'" style="width:80px">保存</a> </div> </form> </div> <script type="text/javascript"> var uuid = "<%=uuid%>"; var load = "<%=load%>"; var kyqNumCount = 0; var kyqlxmc = ""; var pszjzxzcy = ""; var psyjsxzzbr = ""; //加载页面 if (load == "3") { $.ajax({ url: "ExportWord.ashx", data: { 'load': '3', 'uuid': uuid }, async: false, type: 'post', success: function (resultData) { var psyjs = JSON.parse(resultData); //回显矿业权情况 var kyqqk = [] ; var arr = psyjs["t"][0].kyqqk.split(';'); for(var i = 0;i<arr.length;i++){ var yiWei = []; var m = arr[i].split('-'); for(var j = 0;j<m.length;j++){ yiWei.push(m[j]); } kyqqk.push(yiWei); } var str = ""; for (var i = 0; i < psyjs["t"][0].kqsl; i++) { str += "<div id='div_id_kyq_kc_rq"+i+"'>" + "<div style='margin-bottom:10px'>" + "矿业权登记项目名称:<input name='kyqdjxmmc"+i+"' id='kyqdjxmmc"+i+"' value='"+ kyqqk[i][0] +"' class='easyui-textbox' data-options='editable:false' style='width:15%'/>" + "&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp" + "矿业权许可证号:<input name='kyqxkzh"+i+"' id='kyqxkzh"+i+"' value='"+kyqqk[i][1]+"' class='easyui-textbox' data-options='editable:false' style='width:10%'/>" + "</div>" + "<div style='margin-bottom:10px'>" + "&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp" + "有效期限自:" + "<input name='kyqrq0"+i+"' id='kyqrq0"+i+"' value='"+ kyqqk[i][4] +"' class='easyui-datebox' data-options='editable:false,required:true' style='width:7%'/>至" + "<input name='kyqrq1"+i+"' id='kyqrq1"+i+"' value='"+ kyqqk[i][5] +"' class='easyui-datebox' data-options='editable:false,required:true' style='width:7.5%'/>" + "&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp" + kyqqk[i][2]+"面积:<input name='kyqmj"+i+"' id='kyqmj"+i+"' value='"+ kyqqk[i][3] +"' class='easyui-textbox' data-options='editable:true,required:true' style='width:10%'/>" + "</div>" + "</div>"; kyqlxmc += kyqqk[i][2] + ","; kyqNumCount++; } $("#div_kyq").append(str); } }); } else { //新建数据 $.ajax({ url: "ExportWord.ashx", data: { 'load': '1', 'ytdm': getQueryString('ytdm'), 'nd': getQueryString('nd') }, async: false, type: 'post', success: function (resultData) { var psyjs = JSON.parse(resultData) var str = ""; for (var i = 0; i < psyjs["t"].length; i++) { var lxmc = psyjs["t"][i].KYQLXMC; var index=lxmc.lastIndexOf("\【"); lxmc = lxmc.substring(index + 1, lxmc.length); lxmc = lxmc.substring(0, lxmc.length - 1); str += "<div id='div_id_kyq_kc_rq"+i+"'>" + "<div style='margin-bottom:10px'>" + "矿业权登记项目名称:<input name='kyqdjxmmc"+i+"' id='kyqdjxmmc"+i+"' value='"+psyjs["t"][i].KYQMC+"' class='easyui-textbox' data-options='editable:false' style='width:15%'/>" + "&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp" + "矿业权许可证号:<input name='kyqxkzh"+i+"' id='kyqxkzh"+i+"' value='"+psyjs["t"][i].KYQXKH+"' class='easyui-textbox' data-options='editable:false' style='width:10%'/>" + "</div>" + "<div style='margin-bottom:10px'>" + "&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp" + "有效期限自:" + "<input name='kyqrq0"+i+"' id='kyqrq0"+i+"' class='easyui-datebox' data-options='editable:false,required:true' style='width:7%'/>至" + "<input name='kyqrq1"+i+"' id='kyqrq1"+i+"' class='easyui-datebox' data-options='editable:false,required:true' style='width:7.5%'/>" + "&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp" + lxmc+"面积:<input name='kyqmj"+i+"' id='kyqmj"+i+"' class='easyui-textbox' data-options='editable:true,required:true' style='width:10%'/>" + "</div>" + "</div>"; kyqlxmc += lxmc + ","; kyqNumCount++; } $("#div_kyq").append(str); } }); } $(document).ready(function () { GetOption(); //禁用文本框 $("#dc_rq01").textbox("disable"); $("#dc_rq02").textbox("disable"); $("#dc_cy").textbox("disable"); $("#dc_zz").textbox("disable"); $("#dc_xc").textbox("disable"); $("#sbq").textbox("disable"); $("#sbcl").textbox("disable"); $("#ktgz_yfhsqxb").textbox("disable"); $("#dzclbhyyfx").textbox("disable"); $("#kcclbhyyfx").textbox("disable"); // 填充数据 if (load == "3") { //回显数据 $.ajax({ url: "ExportWord.ashx", data: { 'load': '3', 'uuid': uuid }, type: 'post', success: function (resultData) { var psyjs = JSON.parse(resultData); $('#bgmc').textbox('setValue', psyjs["t"][0].bgmc); $('#cllx').textbox('setValue', psyjs["t"][0].cllx); if (psyjs["t"][0].cllx != "新增") { $("#ktgz_yfhsqxb").textbox("enable"); $("#dzclbhyyfx").textbox("enable"); $("#kcclbhyyfx").textbox("enable"); } $('#id_yqlb').textbox('setValue', psyjs["t"][0].yqlb); $('#pssj').textbox('setValue', psyjs["t"][0].pssj); $('#sbdw').textbox('setValue', psyjs["t"][0].sbdw); $('#bxdw').textbox('setValue', psyjs["t"][0].bxdw); $('#pshbr').textbox('setValue', psyjs["t"][0].pshbr); $('#hyzcr').textbox('setValue', psyjs["t"][0].hyzcr); $('#psjgfzr').textbox('setValue', psyjs["t"][0].psjgfzr); $('#pszjzzz').textbox().textbox('setValue', psyjs["t"][0].pszjzzz); $('#pszjzcy').textbox().textbox('setValue', psyjs["t"][0].pszjzcy); $('#psyjszbr').textbox().textbox('setValue', psyjs["t"][0].zbr); $('#sbrq').textbox().textbox('setValue', psyjs["t"][0].sbrq); $('#hyrq01').textbox().textbox('setValue', psyjs["t"][0].hyrq_start); $('#hyrq02').textbox().textbox('setValue', psyjs["t"][0].hyrq_end); $('#pshydz').textbox().textbox('setValue', psyjs["t"][0].pshydz); $('#wzjtdl').textbox('setValue', psyjs["t"][0].wzjtdl); $('#dlgk').textbox('setValue', psyjs["t"][0].dlgk); $('#ccjbtz').textbox('setValue', psyjs["t"][0].ccjbtz); $('#yctz').textbox('setValue', psyjs["t"][0].yctz); $('#gbskczy').textbox('setValue', psyjs["t"][0].gbskczy); $('#ywktgz').textbox('setValue', psyjs["t"][0].ywktgz); $('#ytkfly').textbox('setValue', psyjs["t"][0].ytkfly); $('#plytyyxx').textbox('setValue', psyjs["t"][0].plytyyxx); $('#sthjbhqmc').textbox('setValue', psyjs["t"][0].sthjbhqmc); $('#ktgz_dz').textbox('setValue', psyjs["t"][0].ktgz_dz); $('#ktgz_zj').textbox('setValue', psyjs["t"][0].ktgz_zj); $('#ktgz_cj').textbox('setValue', psyjs["t"][0].ktgz_cj); $('#ktgz_cs').textbox('setValue', psyjs["t"][0].ktgz_cs); $('#ktgz_fxhy').textbox('setValue', psyjs["t"][0].ktgz_fxhy); $('#ktgz_yfhsqxb').textbox('setValue', psyjs["t"][0].ktgz_yfhsqxb); $('#cljsjzrq').textbox('setValue', psyjs["t"][0].cljsjzrq); $('#dzcljsff').textbox('setValue', psyjs["t"][0].dzcljsff); $('#id_clqsbz_y').textbox('setValue', psyjs["t"][0].clqsbz_y); $('#id_clqsbz_q').textbox('setValue', psyjs["t"][0].clqsbz_q); $('#xzclmc').textbox('setValue', psyjs["t"][0].xzclmc); $('#kqlb').textbox('setValue', psyjs["t"][0].kqlb); $('#clztjd').textbox('setValue', psyjs["t"][0].clztjd); $('#jsdyhf').textbox('setValue', psyjs["t"][0].jsdyhf); $('#hymjqd').textbox('setValue', psyjs["t"][0].hymjqd); $('#yxhd').textbox('setValue', psyjs["t"][0].yxhd); $('#yxkxd').textbox('setValue', psyjs["t"][0].yxkxd); $('#yshybhd').textbox('setValue', psyjs["t"][0].yshybhd); $('#dmyymd_ysyytjxshqyb').textbox('setValue', psyjs["t"][0].dmyymd_ysyytjxshqyb); $('#jskccl').textbox('setValue', psyjs["t"][0].jskccl); $('#jjkccl').textbox('setValue', psyjs["t"][0].jjkccl); $('#dzclbhyyfx').textbox('setValue', psyjs["t"][0].dzclbhyyfx); $('#kcclbhyyfx').textbox('setValue', psyjs["t"][0].kcclbhyyfx); $('#ytlx').textbox('setValue', psyjs["t"][0].dc_ytlx); $('#dc_rq01').textbox('setValue', psyjs["t"][0].dc_rq_start); $('#dc_rq01').textbox('setValue', psyjs["t"][0].dc_rq_end); $('#dc_zz').textbox('setValue', psyjs["t"][0].dc_zz); $('#dc_cy').textbox('setValue', psyjs["t"][0].dc_cy); $('#dc_xc').textbox('setValue', psyjs["t"][0].dc_xc); if ('setValue', psyjs["t"][0].pszyj != "") { $("#sbq").textbox("disable"); $("#sbcl").textbox("disable"); $("#psz_yj").textbox("enable"); $("input[type='radio'][name='zypsyj']").get(1).checked = true; $('#psz_yj').textbox('setValue', psyjs["t"][0].pszyj); } else { $("#sbq").textbox("enable"); $("#sbcl").textbox("enable"); $("#psz_yj").textbox("disable"); $("input[type='radio'][name='zypsyj']").get(0).checked = true; $('#sbq').textbox('setValue', psyjs["t"][0].sbq); $('#sbcl').textbox('setValue', psyjs["t"][0].sbcl); } $('#zycl').textbox('setValue', psyjs["t"][0].zycl); $('#fj_kyqxkz_jb').textbox('setValue', psyjs["t"][0].kyqjb); $('#fj_hy_jb').textbox('setValue', psyjs["t"][0].hyjb); } }); } }); //主要评审意见禁用文本框 $("input[name=zypsyj]").click(function(){ var val = $(this).val(); if (val == 0) { $("#sbq").textbox("enable"); $("#sbcl").textbox("enable"); $("#psz_yj").textbox("disable"); } else { $("#sbq").textbox("disable"); $("#sbcl").textbox("disable"); $("#psz_yj").textbox("enable"); } }); function OpenAddZjzcy(e) { if (e == 0) { $('#div_addCY01').dialog('open').dialog('center').dialog('setTitle', '新增'); $('#fm1').form('clear'); } else { $('#div_addCY02').dialog('open').dialog('center').dialog('setTitle', '新增'); $('#fm2').form('clear'); } } function AddZjzcy(e) { if (e == 0) { $.ajax({ url: "SaveExpert.ashx", data: $.param({ 'load': '1' }) + '&' + $("#fm1").serialize(), type: 'post', success: function (data) { if (data != "" && data != null) { if (data != "ok") { alert(data); } else { alert("新增成功"); $('#div_addCY01').dialog('close'); GetOption(); } } else { alert("新增失败"); } } }); } else { $.ajax({ url: "SaveExpert.ashx", data: $.param({ 'load': '2' }) + '&' + $("#fm2").serialize(), type: 'post', success: function (data) { if (data != "" && data != null) { alert("新增成功"); $('#div_addCY02').dialog('close'); GetOption(); } else { alert("新增失败"); } } }); } } //隐藏显示DIV //新增储量类型 $("#cllx").combobox({ onSelect: function (record) { if (record.text != (">>>请选择<<<")) { if (record.text.indexOf("新增")) { $("#ktgz_yfhsqxb").textbox("enable"); $("#dzclbhyyfx").textbox("enable"); $("#kcclbhyyfx").textbox("enable"); } else { $("#ktgz_yfhsqxb").textbox("disable"); $("#dzclbhyyfx").textbox("disable"); $("#kcclbhyyfx").textbox("disable"); } } var str01 = "前相比,新增的工作量如下:"; var str02 = "储量变化原因分析" if (record.text == "复算") { $("#div_top_id_xzgzl").html("(6)与复算" + str01); $("#div_top_id_clbhyyfx").html("10.复算" + str02); } else if (record.text == "核算") { $("#div_top_id_xzgzl").html("(6)与核算" + str01); $("#div_top_id_clbhyyfx").html("10.核算" + str02); } else if (record.text == "复算、核算") { $("#div_top_id_xzgzl").html("(6)与复算、核算" + str01); $("#div_top_id_clbhyyfx").html("10.复算、核算" + str02); } else { $("#div_top_id_xzgzl").html("(6)新增报告没有,复核算报告才有"); $("#div_top_id_clbhyyfx").html("10.新增报告没有,复核算报告才有"); } } }) //调查 $("#ytlx").combobox({ onSelect: function (record) { //储量变化原因分析,修改值 if (record.text == "中型") { $("#dc_rq01").textbox("disable"); $("#dc_rq02").textbox("disable"); $("#dc_cy").textbox("disable"); $("#dc_zz").textbox("disable"); $("#dc_xc").textbox("disable"); } if (record.text == "大型") { $("#dc_rq01").textbox("enable"); $("#dc_rq02").textbox("enable"); $("#dc_zz").textbox("enable"); $("#dc_cy").textbox("enable"); $("#dc_xc").textbox("enable"); } } }) //生态环境保护区名称 $("#sthjbhq").combobox({ onSelect: function (record) { if (record.text == "有") {$("#div_id_sthjbhqmc").attr("style", "display:block;");} if (record.text == "无") {$("#div_id_sthjbhqmc").attr("style", "display:none;");} } }) //产量起算标准 //$("#id_clqsbz").combobox({ // onSelect: function (record) { // if (record.text == "单井油产量") { // $("#div_clqsbz_q").attr("style", "display:none;"); // $("#div_clqsbz_y").attr("style", "display:block;"); // } // if (record.text == "单井气产量") { // $("#div_clqsbz_y").attr("style", "display:none;"); // $("#div_clqsbz_q").attr("style", "display:block;"); // } // } //}) //保存word function saveDoc() { //回显数据修改后保存 if (load == "3") { document.getElementById('xzcy').value = pszjzxzcy; document.getElementById('xzzbr').value = psyjsxzzbr; //表单校验 if (!$('#fm').form('enableValidation').form('validate')) { return $(this).form('enableValidation').form('validate'); } else { $.messager.confirm('提示框', '提交后信息无法更改!您确认要提交吗?', function (ok) { if (ok) { SBC();//转换全角,序列化对象在提交时英文会报错 GetOptionsAndVoluation();//获取下拉框索引并赋值,使后台获取 //后台调取数据 $.ajax({ url: "ExportWord.ashx", data: $.param({ 'ytdm': getQueryString('ytdm'), 'nd': getQueryString('nd'), 'load': '4', 'tbr': getQueryString('tbr'), 'uuid': uuid, 'kyqNumCount': kyqNumCount, "kyqlxmc": kyqlxmc }) + '&' + $("#fm").serialize(), type: 'post', success: function (resultData) { alert(resultData); document.getElementById("btn_export_doc").href = 'CreatePsyjs.aspx?load=2&uuid=' + uuid; } }); } else { return $('#fm').form('validate'); } } ) } } else { uuid = guid(12, 16); document.getElementById('xzcy').value = pszjzxzcy; document.getElementById('xzzbr').value = psyjsxzzbr; //转换全角,序列化对象在提交时英文会报错 SBC(); //获取下拉框索引并赋值,使后台获取 GetOptionsAndVoluation(); //表单校验 if (!$('#fm').form('enableValidation').form('validate')) { return $(this).form('enableValidation').form('validate'); } else { $.messager.confirm('提示框', '提交后信息无法更改!您确认要提交吗?', function (ok) { if (ok) { //后台调取数据 $.ajax({ url: "ExportWord.ashx", data: $.param({ 'ytdm': getQueryString('ytdm'), 'tbr': getQueryString('tbr'),'uuid': uuid , 'kyqNumCount': kyqNumCount, "kyqlxmc": kyqlxmc}) + '&' + $("#fm").serialize(), type: 'post', success: function (resultData) { alert(resultData); document.getElementById("btn_export_doc").href = 'CreatePsyjs.aspx?load=2&uuid=' + uuid; } }); } else { return $('#fm').form('validate'); } } ) } } } function exportDoc() { if (uuid == null) { alert("请先保存数据!"); } } function guid(len, radix) { //len 长度 radix 基数 例:uuid(8, 16) // "098F4D35" var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split(''); var uuid = [], i; radix = radix || chars.length; if (len) { for (i = 0; i < len; i++) uuid[i] = chars[0 | Math.random()*radix]; } else { var r; uuid[8] = uuid[13] = uuid[18] = uuid[23] = '-'; uuid[14] = '4'; for (i = 0; i < 36; i++) { if (!uuid[i]) { r = 0 | Math.random()*16; uuid[i] = chars[(i == 19) ? (r & 0x3) | 0x8 : r]; } } } return uuid.join(''); } function getQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); var r = location.search.substr(1).match(reg); if (r != null) return unescape(decodeURI(r[2])); return null; } function SBC() { ToSBC("wzjtdl"); ToSBC("dlgk"); ToSBC("ccjbtz"); ToSBC("yctz"); ToSBC("gbskczy"); ToSBC("ywktgz"); ToSBC("ytkfly"); ToSBC("plytyyxx"); ToSBC("ktgz_dz"); ToSBC("ktgz_zj"); ToSBC("ktgz_cj"); ToSBC("ktgz_cs"); ToSBC("ktgz_fxhy"); ToSBC("ktgz_yfhsqxb"); if ($("#ktgz_yfhsqxb").val() != "") { ToSBC("ktgz_yfhsqxb"); } if ($("#dzclbhyyfx").val() != "") { ToSBC("dzclbhyyfx"); } if ($("kcclbhyyfx").val() != "") { ToSBC("kcclbhyyfx"); } ToSBC("clztjd"); ToSBC("jsdyhf"); ToSBC("hymjqd"); ToSBC("yxhd"); ToSBC("yxkxd"); ToSBC("yshybhd"); ToSBC("dmyymd_ysyytjxshqyb"); ToSBC("jskccl"); ToSBC("jjkccl"); ToSBC("dc_xc"); ToSBC("dc_cy"); ToSBC("sbq"); ToSBC("sbcl"); ToSBC("psz_yj"); ToSBC("zycl"); } function ToSBC(txtstring) { var text = $("#" + txtstring + "").val(); var tmp = text; for (var i = 0; i < text.length; i++) { if (text.charAt(i) == "³") { alert("可以"); } if (!/^[\x00-\xff]*$/.test(text.charAt(i))) { if (text.charCodeAt(i) == 32) { tmp = ""; tmp = tmp + String.fromCharCode(12288); } if (text.charCodeAt(i) < 127 ) { //&& text.charCodeAt(i) != 109 tmp = ""; tmp = tmp + String.fromCharCode(text.charCodeAt(i) + 65248); } } } $("#" + txtstring + "").textbox("setValue", tmp); } function GetOptionsAndVoluation() { document.getElementById('bgmc_text01').value = $("#bgmc").val().split("油田")[0]; document.getElementById('bgmc_text02').value = $("#bgmc").val().split("油田")[1]; document.getElementById('pszjzzz_text').value = $("#pszjzzz").combobox("getText"); document.getElementById('pszjzcy_text').value = $("#pszjzcy").combobox("getText"); document.getElementById('cllx_text').value = $("#cllx").combobox("getText"); document.getElementById('yqlb_text').value = $("#id_yqlb").combobox("getText"); document.getElementById('sbdw_text').value = $("#sbdw").combobox("getText"); document.getElementById('psyjszbr_text').value = $("#psyjszbr").combobox("getText"); document.getElementById('bxdw_text').value = $("#bxdw").combobox("getText"); //document.getElementById('id_clqsbz_text').value = $("#id_clqsbz").combobox("getText");可以删除, document.getElementById('id_clqsbz_y_text').value = $("#id_clqsbz_y").combobox("getText"); document.getElementById('id_clqsbz_q_text').value = $("#id_clqsbz_q").combobox("getText"); document.getElementById('dzcljsff_text').value = $("#dzcljsff").combobox("getText"); document.getElementById('hy_text').value = $("#hy").combobox("getText"); document.getElementById('pshydz_text').value = $("#pshydz").combobox("getText"); document.getElementById('ytlx_text').value = $("#ytlx").combobox("getText"); } function GetOption() { $("#pszjzzz").empty(); $("#pszjzcy").empty(); $("#psyjszbr").empty(); //获取评审专家组成员值 下拉框展示 $.ajax({ url: "GetOption.ashx", type: "POST", dataType: "json", data: {"load":"1"}, success: function (data) { if (data != "" && data != null) { for (var i = 0; i < data.length; i++) { $("#pszjzzz").append("<option value='" + i + "'>" + data[i] + "</option>"); $("#pszjzzz").combobox({}); $("#pszjzcy").append("<option value='" + i + "'>" + data[i] + "</option>"); $("#pszjzcy").combobox({}); } } }, fail: function (status) { // 此处放失败后执行的代码 alert(err.statusText) } }); //获取评审意见书执笔人 下拉框展示 $.ajax({ url: "GetOption.ashx", type: "POST", dataType: "json", data: {"load":"2"}, success: function (data) { if (data != "" && data != null) { for (var i = 0; i < data.length; i++) { $("#psyjszbr").append("<option value='" + i + "'>" + data[i] + "</option>"); $("#psyjszbr").combobox({}); } } }, fail: function (status) { // 此处放失败后执行的代码 alert(err.statusText) } }); } </script> </body> </html> ```
表单转化成异步上传出现了点问题。请指教
<!-- <div id="mySidenav" class="sidenav">--> <!-- <form name="user_info" action="" method="post">--> <!-- <table class="user_add">--> <!-- <a href="javascript:void(0)" class="closebtn" onclick="closeNav()">&times;</a>--> <!-- <tr>--> <!-- <th style="width: 75px;">用户名</th>--> <!-- <th><input type="text" class="form-control" name='auser' id="auser" required></th>--> <!-- <th style="width: 75px;">密码</th>--> <!-- <th><input type="password" class="form-control" name='apass' id="apass" required></th>--> <!-- </tr>--> <!----> <!-- <tr>--> <!-- <th>姓名</th>--> <!-- <th><input type="text"class="form-control" name='username' id="username" required></th>--> <!-- <th>邮件</th>--> <!-- <th><input type="text"class="form-control" name='useremail' id="useremail" required></th>--> <!-- </tr>--> <!----> <!-- <tr>--> <!-- <th>电话</th>--> <!-- <th><input type="text"class="form-control" name='phone' id="phone" required></th>--> <!-- <th>手机</th>--> <!-- <th><input type="text"class="form-control" name='iphone' id="iphone" required></th>--> <!-- </tr>--> <!----> <!-- <tr>--> <!-- <th>部门</th>--> <!-- <th>--> <!-- <select name="classbu">--> <!-- <option value="技术部">技术部</option>--> <!-- <option value="财务部">财务部</option>--> <!-- <option value="人力部">人力部</option>--> <!-- </select>--> <!-- </th>--> <!-- <th>科室</th>--> <!-- <th>--> <!-- <select name="classke">--> <!-- <option value="开发科">开发科</option>--> <!-- <option value="会计科">会计科</option>--> <!-- <option value="行政科">行政科</option>--> <!-- </select>--> <!-- </th>--> <!-- </tr>--> <!----> <!-- <tr>--> <!----> <!-- <th><input type='submit' onclick="saveUserInfo()" value='提交'></th>--> <!-- </tr>--> <!----> <!-- </table>--> <!----> <!-- </form>--> <!----> <!--</div>--> [code=javascript] function saveUserInfo() { //获取接受返回信息层 //获取表单对象和用户信息值 var f = document.user_info; var user = f.user.value; var apass = f.apass.value; var useremail = f.useremail.value; var phone = f.phone.value; var iphone = f.iphone.value; var username = f.username.value; var classbu = f.classbu.value; var classke = f.classke.value; //接收表单的URL地址 var url = "../../class/Admin.class.php?do=xinjian"; //需要POST的值,把每个变量都通过&来联接 var postStr = "user="+ user +"&apass="+ apass +"&usermemail="+ useremail+"&phone="+ phone +"&iphone="+ iphone +"&username="+ username +"&classbu="+ classbu +"&classke="+ classke ; //实例化Ajax //var ajax = InitAjax(); var ajax = false; //开始初始化XMLHttpRequest对象 if(window.XMLHttpRequest) { //Mozilla 浏览器 ajax = new XMLHttpRequest(); if (ajax.overrideMimeType) {//设置MiME类别 ajax.overrideMimeType("text/xml"); } } else if (window.ActiveXObject) { // IE浏览器 try { ajax = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { ajax = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {} } } if (!ajax) { // 异常,创建对象实例失败 window.alert("不能创建XMLHttpRequest对象实例."); return false; } //通过Post方式打开连接 ajax.open("POST", url, true); //定义传输的文件HTTP头信息 ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); //发送POST数据 ajax.send(postStr); //获取执行状态 ajax.onreadystatechange = function() { //如果执行状态成功,那么就把返回信息写到指定的层里 if (ajax.readyState == 4 && ajax.status == 200) { postStr.innerHTML = ajax.responseText; } } } [/code]
struts2返回json格式数据,看看我的问题!!谢谢
已经确定service层无错! action里这么写的: [code="java"]public void checkUserExist() throws Exception{ String param = request.getParameter("param"); // System.out.println("传入的参数值为:"+param); users = new Users(); users.setLoginName(param); //查询该用户名 int c = userService.checkUserHasExist(users); System.out.println(c); if(c!=0){ String info = "该用户名已存在,请重新输入!"; String status = "n"; JSONArray jsonObj = JSONArray.fromObject("[{info:"+info+",status:"+status+"}]"); writeJson(jsonObj.toString()); }else{ JSONArray jsonObj = JSONArray.fromObject("[{info:'该用户名可以使用!',status:'y'}]"); writeJson(jsonObj.toString()); } }[/code] 到页面的时候,直接显示出[quote][{info:'该用户名可以使用!',status:'y'}][/quote] 请问我应该怎么让他只显示,“该用户名可以使用”。 其中的y和n表示数据提交是否正确!n表示提交错误,按说y应该提交正确了,但是还是红色字显示,意思是还是错误,虽然已经判断了是否存在用户名。 我的jquery这么写的: [code="java"]if($(this).attr("ajaxurl")){ var inputobj=$(this); inputobj.attr("valid",tipmsg.c); $.fn.Validform.sn.showmsg(tipmsg.c,settings.tiptype,{obj:inputobj,type:1,sweep:settings.tipSweep},"hide"); $.ajax({ type: "POST", url: inputobj.attr("ajaxurl"), data: "param="+$(this).val()+"&name="+$(this).attr("name"), dataType: "text", success: function(s){ if(s=="y"){ inputobj.attr("valid","true"); errorobj=null; $.fn.Validform.sn.showmsg(tipmsg.r,settings.tiptype,{obj:inputobj,type:2,sweep:settings.tipSweep},"hide"); }else{ inputobj.attr("valid",s); errorobj=inputobj; $.fn.Validform.sn.showmsg(s,settings.tiptype,{obj:inputobj,sweep:settings.tipSweep}); } },[/code] JSP页面如下: [code="java"]<tr> <td width="20%" align="right"> 帐号: </td> <td style="width:205px;"> <input type="text" value="" name="users.loginName" class="inputcss" datatype="s6-18" ajaxurl="<%=basePath %>login/checkUserExist.action" nullmsg="请输入用户名!" errormsg="帐号至少6个字符,最多18个字符,只能是数字字母下划线!" /> </td> <td><div class="Validform_checktip">帐号至少6个字符,最多18个字符</div></td> </tr>[/code] ajaxurl就是要检查的action。 //表单数据是以POST方式提交过来; //注意json数据必须严格按如下格式输出:{"info":"demo info","status":"y"}; //info: 输出提示信息; //status: 返回提交数据的状态,是否提交成功。“y”表示提交成功,“n”表示提交失败,在callback函数里可以根据该值执行相应的回调操作; echo '{ "info":"数据已成功提交!", "status":"y" }'; 这是网上的那个方法,一行代码搞定全站的那个jquery,我现在要用来检查用户名是否存在!!唉 搞了一个周末了!!!求高人
js如何获取很多个select里面的optin的值 并且把值求和,传递到后台,我现在只会1个一个的获取求指点1。
<form class="m-form" id="homesave" > <div class="m-portlet__body"> <div class="m-form__section m-form__section--first"> <div class="form-group m-form__group row" th:each="largelist:${largelist}"> <label class="col-lg-3 col-form-label"th:text="${largelist.name}" > </label> <div class="col-lg-6" th:if="${largelist.type} ==1"> <input th:id="text+${largelist.id}" type="text" class="form-control m-input" th:placeholder="${largelist.name}" /> </div> <div class="col-lg-6" th:if="${largelist.type }==2 " > <select class="form-control m-input" th:id="text+${largelist.id}"> <option th:each="list:${problemlist}" th:if="${list.lid}== ${largelist.id}" th:text="${list.pro}" th:value="${list.fen}"></option> </select> </div> </div> </div> </div> <div class="m-portlet__foot m-portlet__foot--fit"> <div class="m-form__actions m-form__actions"> <div class="row"> <div class="col-lg-3"></div> <div class="col-lg-6"> <button type="button" class="btn btn-primary" onclick="jc()"> 检查 </button> <button type="button" class="btn btn-secondary" onclick="js()"> 计算 </button> <span>人:<input id="men" type="text"/>分</span> <span>房屋:<input id="home" type="text"/>分</span> </div> </div> </div> </div> <div class="m-portlet__foot m-portlet__foot--fit"> <div class="m-form__actions m-form__actions"> <div class="row"> <div class="col-lg-3"></div> <div class="col-lg-6"> <button type="submit" class="btn btn-primary" onclick="homsave()"> 提交 </button> <button type="reset" class="btn btn-secondary" onclick="history.go(-1);"> 返回 </button> </div> </div> </div> </div> </form> </div> <script type="text/javascript"> function homsave() { var name = $("#text1").val(), idcode = $("#text2").val(); var remarks = $("#text34").val(), bank = $("#text35").val(); var mtion = $("#text36").val(); $.ajax({ type: "POST", //提交的方法 url:"/business/save", //提交的地址 data:$('#homesave').serialize(),// 序列化表单值 async: false, error: function(request) { //失败的话 alert("Connection error"); }, success: function(data) { //成功 alert(data); //就将返回的数据显示出来 window.location.href="跳转页面" } }); // var name = $("#text1").val(), idcode = $("#text2").val(); // var remarks = $("#text34").val(), bank = $("#text35").val(); // var mtion = $("#text36").val(); // if (remarks == null || remarks == "") { // alert("备注不能为空"); // return; // } // if (bank == null || bank == "") { // $("#text35").val("--"); // } // if (mtion == null || remarks == "") { // $("#text36").val("--"); // } alert(name+idcode) } function jc() { var remarks = $("#text34").val(), bank = $("#text35").val(); var mtion = $("#text36").val(); if (remarks == null || remarks == "") { $("#text34").val("--"); } if (bank == null || bank == "") { $("#text35").val("--"); } if (mtion == null || remarks == "") { $("#text36").val("--"); } } function js() { var text3 = $("#text3").find("option:selected").val(); var text4 = $("#text4").find("option:selected").val(); var text5 = $("#text5").find("option:selected").val(); var text6 = $("#text6").find("option:selected").val(); var text7 = $("#text7").find("option:selected").val(); var text8 = $("#text8").find("option:selected").val(); var text9 = $("#text9").find("option:selected").val(); var text10 = $("#text10").find("option:selected").val(); // var text11 = $("#text11").find("option:selected").val(); var text12 = $("#text12").find("option:selected").val(); var text13 = $("#text13").find("option:selected").val(); var text14 = $("#text14").find("option:selected").val(); var text26 = $("#text26").find("option:selected").val(); var text27 = $("#text27").find("option:selected").val(); var text28 = $("#text28").find("option:selected").val(); var text29 = $("#text29").find("option:selected").val(); var text30 = $("#text30").find("option:selected").val(); var text31 = $("#text31").find("option:selected").val(); var text32 = $("#text32").find("option:selected").val(); var text33 = $("#text33").find("option:selected").val(); var menfen = parseInt(text3)+parseInt(text4)+parseInt(text5)+parseInt(text6) +parseInt(text7)+parseInt(text8)+parseInt(text9)+parseInt(text10) +parseInt(text12)+parseInt(text13)+parseInt(text14); var homefen = parseInt(text26)+parseInt(text27)+parseInt(text28)+parseInt(text29) +parseInt(text30)+parseInt(text31)+parseInt(text32)+parseInt(text33); $("#men").val(menfen); $("#home").val(homefen) } </script>
Kafka实战(三) - Kafka的自我修养与定位
Apache Kafka是消息引擎系统,也是一个分布式流处理平台(Distributed Streaming Platform) Kafka是LinkedIn公司内部孵化的项目。LinkedIn最开始有强烈的数据强实时处理方面的需求,其内部的诸多子系统要执行多种类型的数据处理与分析,主要包括业务系统和应用程序性能监控,以及用户行为数据处理等。 遇到的主要问题: 数据正确性不足 数据的收集主要...
volatile 与 synchronize 详解
Java支持多个线程同时访问一个对象或者对象的成员变量,由于每个线程可以拥有这个变量的拷贝(虽然对象以及成员变量分配的内存是在共享内存中的,但是每个执行的线程还是可以拥有一份拷贝,这样做的目的是加速程序的执行,这是现代多核处理器的一个显著特性),所以程序在执行过程中,一个线程看到的变量并不一定是最新的。 volatile 关键字volatile可以用来修饰字段(成员变量),就是告知程序任何对该变量...
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
有哪些让程序员受益终生的建议
从业五年多,辗转两个大厂,出过书,创过业,从技术小白成长为基层管理,联合几个业内大牛回答下这个问题,希望能帮到大家,记得帮我点赞哦。 敲黑板!!!读了这篇文章,你将知道如何才能进大厂,如何实现财务自由,如何在工作中游刃有余,这篇文章很长,但绝对是精品,记得帮我点赞哦!!!! 一腔肺腑之言,能看进去多少,就看你自己了!!! 目录: 在校生篇: 为什么要尽量进大厂? 如何选择语言及方...
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 free -m 其中:m表示兆,也可以用g,注意都要小写 Men:表示物理内存统计 total:表示物理内存总数(total=used+free) use...
比特币原理详解
一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。 二、问题引入 假设现有4个人...
GitHub开源史上最大规模中文知识图谱
近日,一直致力于知识图谱研究的 OwnThink 平台在 Github 上开源了史上最大规模 1.4 亿中文知识图谱,其中数据是以(实体、属性、值),(实体、关系、实体)混合的形式组织,数据格式采用 csv 格式。 到目前为止,OwnThink 项目开放了对话机器人、知识图谱、语义理解、自然语言处理工具。知识图谱融合了两千五百多万的实体,拥有亿级别的实体属性关系,机器人采用了基于知识图谱的语义感...
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发...
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 演示地点演示 html代码如下` music 这个年纪 七月的风 音乐 ` 然后就是css`*{ margin: 0; padding: 0; text-decoration: none; list-...
微信支付崩溃了,但是更让马化腾和张小龙崩溃的竟然是……
loonggg读完需要3分钟速读仅需1分钟事件还得还原到昨天晚上,10 月 29 日晚上 20:09-21:14 之间,微信支付发生故障,全国微信支付交易无法正常进行。然...
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。
数据库优化 - SQL优化
以实际SQL入手,带你一步一步走上SQL优化之路!
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 cpp 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7 p...
通俗易懂地给女朋友讲:线程池的内部原理
餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”
《奇巧淫技》系列-python!!每天早上八点自动发送天气预报邮件到QQ邮箱
将代码部署服务器,每日早上定时获取到天气数据,并发送到邮箱。 也可以说是一个小型人工智障。 知识可以运用在不同地方,不一定非是天气预报。
经典算法(5)杨辉三角
杨辉三角 是经典算法,这篇博客对它的算法思想进行了讲解,并有完整的代码实现。
英特尔不为人知的 B 面
从 PC 时代至今,众人只知在 CPU、GPU、XPU、制程、工艺等战场中,英特尔在与同行硬件芯片制造商们的竞争中杀出重围,且在不断的成长进化中,成为全球知名的半导体公司。殊不知,在「刚硬」的背后,英特尔「柔性」的软件早已经做到了全方位的支持与支撑,并持续发挥独特的生态价值,推动产业合作共赢。 而对于这一不知人知的 B 面,很多人将其称之为英特尔隐形的翅膀,虽低调,但是影响力却不容小觑。 那么,在...
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹...
面试官:你连RESTful都不知道我怎么敢要你?
干货,2019 RESTful最贱实践
刷了几千道算法题,这些我私藏的刷题网站都在这里了!
遥想当年,机缘巧合入了 ACM 的坑,周边巨擘林立,从此过上了"天天被虐似死狗"的生活… 然而我是谁,我可是死狗中的战斗鸡,智力不够那刷题来凑,开始了夜以继日哼哧哼哧刷题的日子,从此"读题与提交齐飞, AC 与 WA 一色 ",我惊喜的发现被题虐既刺激又有快感,那一刻我泪流满面。这么好的事儿作为一个正直的人绝不能自己独享,经过激烈的颅内斗争,我决定把我私藏的十几个 T 的,阿不,十几个刷题网...
为啥国人偏爱Mybatis,而老外喜欢Hibernate/JPA呢?
关于SQL和ORM的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行了一番讨论,感触还是有一些,于是就有了今天这篇文。 声明:本文不会下关于Mybatis和JPA两个持久层框架哪个更好这样的结论。只是摆事实,讲道理,所以,请各位看官勿喷。 一、事件起因 关于Mybatis和JPA孰优孰劣的问题,争论已经很多年了。一直也没有结论,毕竟每个人的喜好和习惯是大不相同的。我也看...
白话阿里巴巴Java开发手册高级篇
不久前,阿里巴巴发布了《阿里巴巴Java开发手册》,总结了阿里巴巴内部实际项目开发过程中开发人员应该遵守的研发流程规范,这些流程规范在一定程度上能够保证最终的项目交付质量,通过在时间中总结模式,并推广给广大开发人员,来避免研发人员在实践中容易犯的错误,确保最终在大规模协作的项目中达成既定目标。 无独有偶,笔者去年在公司里负责升级和制定研发流程、设计模板、设计标准、代码标准等规范,并在实际工作中进行...
SQL-小白最佳入门sql查询一
不要偷偷的查询我的个人资料,即使你再喜欢我,也不要这样,真的不好;
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // doshom...
Nginx 原理和架构
Nginx 是一个免费的,开源的,高性能的 HTTP 服务器和反向代理,以及 IMAP / POP3 代理服务器。Nginx 以其高性能,稳定性,丰富的功能,简单的配置和低资源消耗而闻名。 Nginx 的整体架构 Nginx 里有一个 master 进程和多个 worker 进程。master 进程并不处理网络请求,主要负责调度工作进程:加载配置、启动工作进程及非停升级。worker 进程负责处...
YouTube排名第一的励志英文演讲《Dream(梦想)》
Idon’t know what that dream is that you have, I don't care how disappointing it might have been as you've been working toward that dream,but that dream that you’re holding in your mind, that it’s po...
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,...
程序员:我终于知道post和get的区别
是一个老生常谈的话题,然而随着不断的学习,对于以前的认识有很多误区,所以还是需要不断地总结的,学而时习之,不亦说乎
《程序人生》系列-这个程序员只用了20行代码就拿了冠军
你知道的越多,你不知道的越多 点赞再看,养成习惯GitHub上已经开源https://github.com/JavaFamily,有一线大厂面试点脑图,欢迎Star和完善 前言 这一期不算《吊打面试官》系列的,所有没前言我直接开始。 絮叨 本来应该是没有这期的,看过我上期的小伙伴应该是知道的嘛,双十一比较忙嘛,要值班又要去帮忙拍摄年会的视频素材,还得搞个程序员一天的Vlog,还要写BU...
相关热词 c# clr dll c# 如何orm c# 固定大小的字符数组 c#框架设计 c# 删除数据库 c# 中文文字 图片转 c# 成员属性 接口 c#如何将程序封装 16进制负数转换 c# c#练手项目
立即提问