jQuery easyUI form ajax提交是假的吗?? 5C

今天学习easyUI的form表单,说他有个ajax提交数据的功能,我在服务器端设置了一道屏障,如果不是ajax请求则跳转到404页面。
结果,每次提交表单都是404了,看了下请求头,根本不是ajax提交。
我对比了一下其他ajax请求头,成功的都会有个 X-Request-With:"XMLHttpRequest" , 但是form的ajax方式就没有easyUI所说的ajax提交是不是假的啊???

我把官方给的几种使用方式都试了,不行啊!!!
别骂我,我只是个刚入门的孩子,什么高级的底层的,一概不懂,只是想知道怎么做才能通过我在服务器端设置的非ajax请求跳转到404的屏障。

4个回答

easyui的form使用iframe来模拟的,并不是实际的ajax请求,没有X-Request-With这个请求头。。

去掉你这个验证不就好了,干嘛非得验证X-Request-With这个请求头。一定要ajax自己添加onSubmit事件return false阻止表单提交,然后用jQuery.ajax发送表单数据

        $('#ff').form('submit', {
                url: 'xxxxxxx',
                onSubmit: function(){
                    var isValid = $(this).form('validate');
                    if (!isValid){
                        $.messager.progress('close');   // hide progress bar while the form is invalid
                    }
///////////ajax提交
                    $.ajax({url:"xxxxxx",data:$(this).serialize(),type:'POST'/*...其他配置*/})
                    return false;   
                }

是不是跨域了???

应该是假的?!?!?!?!?

赞同showbo的回答. 查看源码 easyui-form的源码(1.4.2版本的jquery.form.js)

 //...省略...
        function ajaxSubmit(target, options){
        var opts = $.data(target, 'form').options;
        $.extend(opts, options||{});

        var param = $.extend({}, opts.queryParams);
        if (opts.onSubmit.call(target, param) == false){return;}
        $(target).find('.textbox-text:focus').blur();
        //构造了一个iframe
        var frameId = 'easyui_frame_' + (new Date().getTime());
        var frame = $('<iframe id='+frameId+' name='+frameId+'></iframe>').appendTo('body')
        frame.attr('src', window.ActiveXObject ? 'javascript:false' : 'about:blank');
        frame.css({
            position:'absolute',
            top:-1000,//让我们看不到它
            left:-1000
        });
        frame.bind('load', cb);

        submit(param);

        function submit(param){
            var form = $(target);
            if (opts.url){
                form.attr('action', opts.url);
            }
            var t = form.attr('target'), a = form.attr('action');
            form.attr('target', frameId);//把我们要提交的form的target指向构造出来的那个iframe
            var paramFields = $();
            try {
                for(var n in param){
                    var field = $('<input type="hidden" name="' + n + '">').val(param[n]).appendTo(form);
                    paramFields = paramFields.add(field);
                }
                checkState();
                form[0].submit();
            } finally {
                form.attr('action', a);
                t ? form.attr('target', t) : form.removeAttr('target');
                paramFields.remove();
            }
         //...省略...

看到easyui的作者写了一个ajaxSubmit方法(不仔细看内容还真以为是一个ajax方法呢)。方法里面动态构造了一个隐藏的iframe,然后把我们要提交的form的target指向了构造出来的这个隐藏的iframe,给这个iframe设置了load事件回调方法用来处理响应。重要的是那句“form[0].submit()”,这是什么,这就是直接在提交表单啊,哪儿有什么ajax,只是保证了页面无刷新。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
在使用npm编写react,想使用jquery easyui的form的方法,使用npm安装了以后,发现不能用

如题,想在npm中使用jquery easyui的方法,怎么使用啊?我使用的命令是npm install jquery-easyui --save。然后import了一下,发现不能用

easyui的form表单能否用同步的方式提交?

默认是异步的,有没有办法变成同步方式提交。因为碰到一个问题,在表单提交的success里用window.open打开新窗口会跳出新的浏览器窗口而不会变成新Tab页,只有在form表单提交的代码段之外window.open才会变成tab页。另外想请教ajax的success里用window.open打开新窗口会跳出新的浏览器窗口而不会变成新Tab页是什么原因?浏览器是chrome

easyui的form赋值问题

$("#userForm").form('load', data); //data是datagrid选中的一行的数据,假如select选中的1 将date的数据传到easyui-window的form表单中 \<form id="userForm"> \<select id="s"> \<option value = "0">11\</option> \<option value = "1">22\</option> \</select> \</form> 如何在form表单中select默认选中的是传过来的值

Jquery Ajax Form表单重复提交

后台服务器根据前台传递的参数,生成了若干个文件,之后前台需要下载这些文件 每次表单参数为需要下载的文件名称,需要在button的click事件中将所有产生的这 些文件下载下来,所以需要循环提交表单,不知道这个应该怎么解决 $.ajax({…… ,success:function(result){ table.rows('.selected').indexes().each(function(idx){//这里需要多次提交 var d = table.row(idx).data(); $('input[name='filename']').var(d.filename); $("form[name='downloadform']").submit(); }); } }); //这里只能将第一次提交的结果传递给后台下载controler来解决

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表单时,在后台有些参数获取不到

各位大神!我在用ajax提交表单的时候,在后台通过request.getParameter("object"); 一共是要获取六个参数,但奇怪的是只能获取到2个,其他都为null; 这是我的表单提交方法: ![图片说明](https://img-ask.csdn.net/upload/201503/24/1427179075_513139.png) 这是我的表单: ![图片说明](https://img-ask.csdn.net/upload/201503/24/1427179218_287875.png) 这是我在后台获取的参数的方式: ![图片说明](https://img-ask.csdn.net/upload/201503/24/1427179298_942462.png) 截图中绿色框里的内容在后台都能够正常获取,红色框中在后台获取的时候都为null; 表达中name="object"的名称跟我的实体类都是对应的。以前都是用form表单直接提交的,对ajax的规则不甚了解,求各位大神帮忙分析一下!在线等

ajax异步上传(没有form表单);单纯的提交文件

``` <div class="input-group col-md-9 pull-left"> <input class="form-control" ng-file-select="onFileSelect($files)" enctype="multipart/form-data" accept=".txt,.csv" ng-disabled="uploading" type="file" name="userfile"> <span class="input-group-btn"> <button class="btn btn-primary" type="submit" onclick="upload(<?=!empty($info['id']) ? $info['id'] : ''?>)" ng-disabled="uploading" >上传</button> </span> </div> ```

用ajax请求实现表单提交并页面跳转的问题

使用的是SpringBoot框架,部分代码如下 JS代码: function login() { var userName = $("#inputName").val(); var userPassword = $("#inputPassword").val(); var rememberUser = $("input[type=checkbox]").get(0).checked; $.ajax({ url : "login/userLogin", type : "post", dataType : "json", data : { "userName" : userName, "userPassword" : userPassword }, success : function(result) { if (result.status == 1) { if (rememberUser) { addCookie("userName", userName, 30); } else { delCookie("userName"); } window.location.href = "menu.html"; } else if (result.status == 0) { alert(result.message); } } }); return false; } Controller代码: @RequestMapping(value = "login/userLogin", method = RequestMethod.POST) @ResponseBody public Result login(User user) { Result result = userService.login(user); return result; } 登录form提交后,每次都是显示返回的json,而不是跳转到menu.html,应该怎么改 ![图片说明](https://img-ask.csdn.net/upload/201808/06/1533518408_644093.jpg)

Struts2和jquery easyiUI的跳转页面问题。

我在struts2配置了返回页面: ``` <result name="success" >/index.jsp</result> ``` 可是在前台jquery EASYUI 却还在原来的页面,不跳转。 于是我打开浏览器调试模式看到,respond那一项,里面写着就是我 index.jsp的全部 代码。 总的流程抽象成这样: 1.页面A:ajax请求 action---->2.action进行逻辑处理后,result配置转去页面B ----->3.整个页面刷新,页面显示为页面B 问题:在页面A无法刷新跳转去页面B。但是在浏览器调试模式 Network 中的 respond中是页面B的内容,怎样跳转?

使用ajax和jquery从数据库动态添加预填充的表单

<div class="post-text" itemprop="text"> <p>Ive been researching online for a couple days and I cant seem to find out the answer to my question. I would like to append a div or insert a pre populated form from my database depending on a drop down menu (selecting from a row in my DB). Once you press a button it will add the form field to a div or area above. Any suggestions? How should I tackle this? Im extremely new to Jquery and Ajax but know PHP fairly well.</p> </div>

post提交表单,Controller根本进不去

# **jsp:** <form id="itemAddForm" class="itemForm" method="post"> <table cellpadding="8" border="1"> <tr><td>商品类目:</td><td> <a href="javascript:void(0)" class="easyui-linkbutton selectItemCat">选择类目</a> <input type="hidden" name="cid" style="width: 280px;"></input></td></tr><tr> <td>商品标题:</td><td> <input class="easyui-textbox" type="text" id="title" name="title" data-options="required:true" style="width: 280px;"></input> </td></tr><tr><td>购入日期:</td><td> <input class="easyui-datebox" type="text" name="buydate" data-options="required:true"></input> </td></tr><tr><td>商品进价(J):</td><td> <input class="easyui-numberbox" type="text" name="buyprice" data-options="min:1,max:99999999,precision:0,required:true" /> </td></tr><tr><td>日本国内运费(J):</td><td> <input class="easyui-numberbox" type="text" name="japanfareprice" data-options="min:1,max:99999999,precision:0,required:true" /> </td></tr><tr><td>国际运费(J):</td><td> <input class="easyui-numberbox" type="text" name="interfareprice" data-options="min:1,max:99999999,precision:0,required:true" /> </td></tr><tr><td>国内运费(C):</td><td> <input class="easyui-numberbox" type="text" name="chinafareprice" data-options="min:1,max:99999999,precision:0,required:true" /> </td></tr><tr><td>关税(C):</td><td> <input class="easyui-numberbox" type="text" name="taxprice" data-options="min:1,max:99999999,precision:0,required:true" /> </td></tr><tr><td>商品售价(C):</td><td> <input class="easyui-numberbox" type="text" name="sellprice" data-options="min:1,max:99999999,precision:0,required:true" /> </td></tr> </table> <input type="hidden" name="itemParams"/> </form> <div style="padding:5px"> <a href="javascript:void(0)" class="easyui-linkbutton" onclick="submitForm()">提交</a> <a href="javascript:void(0)" class="easyui-linkbutton" onclick="clearForm()">重置</a> </div> </div> ``` <script type="text/javascript"> //ajax的post方式提交表单 function submitForm(){ $.post("/item/save",$("#itemAddForm").serialize(), function(data){ if(data.status == 200){ $.messager.alert('提示','新增商品成功!'); }else{ $.messager.alert('提示','新增商品失败!'); }}); } function clearForm(){ $('#itemAddForm').form('reset'); itemAddEditor.html(''); } ``` </script> ## **Controller:** @Controller @RequestMapping("/item") public class ItemController { @Autowired private ItemService itemService; @RequestMapping(value="/save",method=RequestMethod.POST) @ResponseBody public TaotaoResult createItem(TbItem item) { TaotaoResult result = itemService.createItem(item); return result; }} ## **pojo:** ``` public class TbItem { private Long id; private String title; private Date buydate; private Integer buyprice; private Integer japanfareprice; private Integer interfareprice; private Integer chinafareprice; private Integer taxprice; private Integer sellprice; private Long cid; private Byte status; private Date created; private Date updated; get。。。 set。。。 } ``` 好几天了,提交form表单但是Controller就是进不去,不知道为什么?求大神帮忙看看,谢谢

如何在jQuery中使用POST方法重定向

<div class="post-text" itemprop="text"> <p>I hava a form element with some contents inside as given below.</p> <pre><code>&lt;form action="insertserverdata.php" id="toPopup"&gt; &lt;table&gt; &lt;tr&gt; &lt;td&gt;IP address:&lt;/td&gt; &lt;td&gt;&lt;input type="text" id="ip" /&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;/td&gt; &lt;td&gt; &lt;input id="btnLogin" type="submit"/&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;/form&gt; </code></pre> <p>and the following jQuery code.</p> <pre><code>&lt;script type="text/javascript"&gt; $(function(){ $('#btnLogin').click( function(event){ event.preventDefault(); var posting = $.post( "connectServer.php", { ip: $('#ip').val() } ); posting.done(function( data ) { if($.trim(data)=="1"){ //need to reedirect to connectServer.php }else{ alert(data); } }); }); &lt;/script&gt; </code></pre> <p>Here everything works fine, and I got <code>1</code> in variable named <code>data</code> inside jquery. Here the problem is, if the value of variable <code>data</code> is <code>1</code> then I need to redirect to ConnectServer.php.What shall I need to do for that purpose ?</p> <p>Thanks in advance dear friends. Please advice.</p> </div>

jquery form插件success回调函数无法执行,返回json数据无法读取

<p> </p> <pre name="code" class="java">// JavaScript Document // prepare the form when the DOM is ready $(document).ready(function() { var show = function(data){ alet('ffff'); alert(data); } // bind to the form's submit event $('#upload').ajaxForm({ target:'#uploadMsg', dataType: 'json', beforeSubmit:showRequest, success:showResponse }); }); // pre-submit callback function showRequest(formData, jqForm) { alert('beforeSubmit'); // formData is an array; here we use $.param to convert it to a string to display it // but the form plugin does this for you automatically when it submits the data //var queryString = $.param(formData); // jqForm is a jQuery object encapsulating the form element. To access the // DOM element for the form do this: for (var i=0; i &lt; formData.length; i++) { if (!formData[i].value) { alert('Please select a file'); return false; } } //alert('About to submit: \n\n' + queryString); // here we could return false to prevent the form from being submitted; // returning anything other than false will allow the form submit to continue return true; } // post-submit callback function showResponse(data) { // for normal html responses, the first argument to the success callback // is the XMLHttpRequest object's responseText property // if the ajaxSubmit method was passed an Options Object with the dataType // property set to 'xml' then the first argument to the success callback // is the XMLHttpRequest object's responseXML property // if the ajaxSubmit method was passed an Options Object with the dataType // property set to 'json' then the first argument to the success callback // is the json data object returned by the server alert('success'); alert(data); } </pre> <p> </p> <p> </p> <p>服务器端用的是struts2.1,一个uploadAction</p> <p> </p> <p>现在能实现上传</p> <p>页面代码如下:</p> <p> </p> <pre name="code" class="java">&lt;div class="upload"&gt; &lt;s:form id="upload" action ="ajax/upload!topicUpload.do" method="post" enctype="multipart/form-data"&gt; &lt;div&gt;&lt;input id="topicId" name="topicId" type="hidden" value="&lt;s:property value="topicId"/&gt;"/&gt;&lt;/div&gt; &lt;div&gt;&lt;input id="type" name="type" type="hidden" value="2"/&gt;&lt;/div&gt; &lt;div&gt;&lt;label class="adminleft"&gt;附件:&lt;/label&gt;&lt;s:file name ="myFile" label ="upload File" /&gt; &lt;span class="loading"&gt;...&lt;/span&gt;&lt;s:submit value="上传"/&gt; &lt;/div&gt; &lt;/s:form&gt; &lt;div class="fileUrl"&gt;&lt;/div&gt; &lt;div&gt;&lt;label id="uploadMsg"&gt;你还没有上传任何文件&lt;/label&gt;&lt;/div&gt; &lt;/div&gt; &lt;/div&gt;</pre> <p> jquery用的是1.3,form插件是最新的,文件上传后,返回的一个<span style="white-space: pre;">upload!topicUpload.do的json文件,还让你保存,就是不执行回调函数,实在搞不懂了,</span></p> <p> </p> <p>struts的配置</p> <p> </p> <pre name="code" class="java"> &lt;!-- ajax模块 --&gt; &lt;package name="ajax" extends="json-default"&gt; &lt;action name="upload" class="uploadAction"&gt; &lt;interceptor-ref name="fileUpload"&gt; &lt;param name="maximumSize"&gt;20480000&lt;/param&gt; &lt;/interceptor-ref&gt; &lt;interceptor-ref name="defaultStack"/&gt; &lt;result type="json"&gt; &lt;/result&gt; &lt;/action&gt; &lt;/package&gt; </pre>   <p>不知道有没有谁也遇到过这样的问题</p>

EasyUI中DataGird 最后一行添加总计

``` ${config_iframe} <script type="text/javascript"> $(function(){$('#${config_id}List').datagrid( { idField: 'id', title: '${config_name}', url:'cgReportController.do?datagrid&configId=${config_id}${config_params}', fit:true, fitColumns:false, pageSize: 10, pagination:true, pageList:[10,30,50,100], singleSelect:true, checkbox:false, sortOrder:'asc', rownumbers:true, showFooter:true, frozenColumns:[[]], columns:[ [ <#if (config_fieldList?size>0)> <#list config_fieldList as x> <#if x_has_next> {field:'${x['field_name']}', title:'${x['field_txt']}', <#if x['field_href']?? && x['field_href']!=""> formatter:function(value,rec,index){ var href=''; href+=applyHref(value,'${x['field_href']}',value,rec,index); return href; }, </#if> <#if x['is_show'] == "N" >hidden:true,</#if> width:80}, <#else> {field:'${x['field_name']}',title:'${x['field_txt']}',width:80} </#if> </#list> </#if> ] ], onLoadSuccess:function(data){$("#${config_id}List").datagrid("clearSelections");}, onClickRow:function(rowIndex,rowData) {rowid=rowData.id;gridname='${config_id}List';} }); $('#${config_id}List').datagrid('getPager').pagination({beforePageText:'',afterPageText:'/{pages}',displayMsg:'{from}-{to}共{total}条',showPageList:true,showRefresh:true}); $('#${config_id}List').datagrid('getPager').pagination({onBeforeRefresh:function(pageNumber, pageSize){ $(this).pagination('loading');$(this).pagination('loaded'); }});}); function reloadTable(){ try{ $('#'+gridname).datagrid('reload'); $('#'+gridname).treegrid('reload'); }catch(ex){ //donothing } } function reload${config_id}List(){$('#${config_id}List').datagrid('reload');} function get${config_id}ListSelected(field){return getSelected(field);} function getSelected(field){var row = $('#'+gridname).datagrid('getSelected');if(row!=null){value= row[field];}else{value='';}return value;} function get${config_id}ListSelections(field){var ids = [];var rows = $('#${config_id}List').datagrid('getSelections');for(var i=0;i<rows.length;i++){ids.push(rows[i][field]);}ids.join(',');return ids}; function ${config_id}Listsearch(){var queryParams=$('#${config_id}List').datagrid('options').queryParams;$('#${config_id}Listtb').find('*').each(function(){queryParams[$(this).attr('name')]=$(this).val();});$('#${config_id}List').datagrid({url:'cgReportController.do?datagrid&configId=${config_id}',pageNumber:1});} function dosearch(params){var jsonparams=$.parseJSON(params);$('#${config_id}List').datagrid({url:'cgReportController.do?datagrid&configId=${config_id},',queryParams:jsonparams});} function ${config_id}Listsearchbox(value,name){var queryParams=$('#${config_id}List').datagrid('options').queryParams;queryParams[name]=value;queryParams.searchfield=name;$('#${config_id}List').datagrid('reload');}$('#${config_id}Listsearchbox').searchbox({searcher:function(value,name){${config_id}Listsearchbox(value,name);},menu:'#${config_id}Listmm',prompt:'请输入查询关键字'}); function searchReset_${config_id}(name){ $("#"+name+"tb").find(":input").val("");${config_id}Listsearch();} //导出 function exportXls() { $.ajax({ type: 'POST', dataType: "text", url: 'cgReportController.do?getSize', async: false, success: function (data) { var num = data.replace(/\"/g, ""); if (null != num && num != '') { if (parseInt(num) > 60000) { $.dialog.confirm("数据大于6万条,可能下载不完全,是否继续下载?", function (r) { if (!r) {return;} downXls(); }); } else { downXls(); } } } }); } function downXls() { var submitUrl = "cgExportExcelController.do?exportXls&configId=${config_id}"; var queryParams = ""; $('#${config_id}Listtb').find('*').each(function () { queryParams += "&" + $(this).attr('name') + "=" + $(this).val(); } ); submitUrl += queryParams; submitUrl = encodeURI(submitUrl); window.location.href = submitUrl; } //将字段href中的变量替换掉 function applyHref(tabname,href,value,rec,index){ //addOneTab(tabname,href); //alert("href: "+href); var hrefnew = href; var re = ""; var p1 = /\#\{(\w+)\}/g; try{ var vars =hrefnew.match(p1); for(var i=0;i<vars.length;i++){ var keyt = vars[i]; var p2 = /\#\{(\w+)\}/g; var key = p2.exec(keyt); hrefnew = hrefnew.replace(keyt,rec[key[1]]); } }catch(ex){ } re += "<a href = '#' onclick=\"addOneTab('"+tabname+"','"+ hrefnew + value +"')\" ><u>"+value+"</u></a>"; //alert("newHref: "+re); return re; } </script> <table width="100%" id="${config_id}List" toolbar="#${config_id}Listtb"></table> <div id="${config_id}Listtb" style="padding:3px; height: auto"> <div name="searchColums"> <#list config_queryList as x> <span style="display:-moz-inline-box;display:inline-block;"> <span style="display:-moz-inline-box;display:inline-block;width: 100px;text-align:right;text-align:right;text-overflow:ellipsis;-o-text-overflow:ellipsis; overflow: hidden;white-space:nowrap;" title="${x['field_txt']}">${x['field_txt']}:</span> <#if x['search_mode']=="group"> <input type="text" name="${x['field_name']}_begin" style="width: 94px" <#if x['field_type']=="Date">class="easyui-datebox"</#if> /> <span style="display:-moz-inline-box;display:inline-block;width: 8px;text-align:right;">~</span> <input type="text" name="${x['field_name']}_end" style="width: 94px" <#if x['field_type']=="Date">class="easyui-datebox"</#if> /> </#if> <#if x['search_mode']=="single"> <#if (x['field_dictlist']?size >0)> <select name = "${x['field_name']}" WIDTH="100" style="width: 104px"> <option value = "">---请选择---</option> <#list x['field_dictlist'] as xd> <option value = "${xd['typecode']}">${xd['typename']}</option> </#list> </select> </#if> <#if (x['field_dictlist']?size <= 0)> <input type="text" name="${x['field_name']}" style="width: 100px" <#if x['field_type']=="Date">class="easyui-datebox"</#if> /> </#if> </#if> </span> </#list> </div> <div style="height:60px;" class="datagrid-toolbar"> <span style="float:left;" > <a href="#" class="easyui-linkbutton" plain="true" icon="icon-putout" onclick="exportXls();">导出excel</a> <form action="/jeecg/cgReportController.do?list2&id=${config_id}" method="post"> 起始时间:<input type="date" id="st" name="st" value="${st!}"/> 结束时间:<input type="date" id="et" name="et" value="${et!}"/> 选择院区:<select id="yq" name="yq"> <option value="">全部</option> <option value="01" <#if yq??> <#if yq=='01'>selected</#if></#if>>城中院区</option> <option value="02" <#if yq??> <#if yq=='02'>selected</#if></#if>>阳湖院区</option> </select> 科室名称:<input type="text" id="ks" name="ks" value="${ks!}" /> 医保类型:<select id="yb" name="yb"> <option value="" >全部</option> <option value="1" <#if yb??> <#if yb=='1'>selected</#if></#if> >常州职工</option> <option value="2" <#if yb??> <#if yb=='2'>selected</#if></#if> >常州离休</option> <option value="3" <#if yb??> <#if yb=='3'>selected</#if></#if> >常州居民</option> <option value="4" <#if yb??> <#if yb=='4'>selected</#if></#if> >常州地市级</option> <option value="5" <#if yb??> <#if yb=='5'>selected</#if></#if> >常州荣军</option> <option value="6" <#if yb??> <#if yb=='6'>selected</#if></#if> >常州生育</option> <option value="7" <#if yb??> <#if yb=='7'>selected</#if></#if> >武进职工</option> <option value="8" <#if yb??> <#if yb=='8'>selected</#if></#if> >武进离休</option> <option value="9" <#if yb??> <#if yb=='9'>selected</#if></#if> >武进居民</option> <option value="10" <#if yb??> <#if yb=='10'>selected</#if></#if> >武进生育</option> <option value="11" <#if yb??> <#if yb=='11'>selected</#if></#if> >金坛职工</option> <option value="12" <#if yb??> <#if yb=='12'>selected</#if></#if> >溧阳职工</option> </select> <input type="submit"/> </form> </span> <#if (config_queryList?size >0)> <span style="float:right"> <a href="#" class="easyui-linkbutton" iconCls="icon-search" onclick="${config_id}Listsearch()">查询</a> <a href="#" class="easyui-linkbutton" iconCls="icon-reload" onclick="searchReset_${config_id}('${config_id}List')">重置</a> </span> </#if> </div> </div> ```

选中复选框时,调用Ajax或提交按钮

<div class="post-text" itemprop="text"> <p>I have following PHP while loop which is showing data as the checkbox. The checkbox can be multiple or one.</p> <pre><code>&lt;?php $supplier = new Admin; $supplier-&gt;rowQuery("SELECT * FROM supplier"); echo '&lt;form id="formId"&gt;'; while ( $data = $supplier-&gt;result-&gt;fetch_assoc()) { $sid = (int) $data['sid']; $supplierName = output($data['supplierName']); echo '&lt;label class="checkbox-inline"&gt;'; echo "&lt;input type='checkbox' name='sid[]' data-sid='$sid' value='$sid' class='supplierClass'&gt; $supplierName"; echo '&lt;/label&gt;'; } echo '&lt;input type="hidden" name="submit" value="supplier" class="clickBtn"&gt;'; echo '&lt;/form&gt;'; ?&gt; </code></pre> <p>Now I want to call Ajax when at least one checkbox or multiple checkbox is checked. So to do that I have following Javascrpt:</p> <pre><code>$('.supplierClass').click(function() { var sid = $(this).data('sid'); if(this.checked){ // $("input[type=submit]").trigger(".clickBtn"); $('.clickBtn').trigger(); $('#formId').submit(function() { $.ajax({ url : 'process/get-vehicle.php', type : 'POST', dataType : 'html', data : { sid : sid, }, beforeSend : function () { $('.allVehicle').html('Please wait...'); }, success : function ( result ) { $('.allVehicle').html(result); } }); }); } }); </code></pre> <p>but it's not called the Ajax :(</p> <p><strong>Overall Goal</strong></p> <p>You can see that I have set the checkbox name as <code>array</code> sid[]. Becuase I need to get all checkbox checked data as array in a PHP file. </p> <p>So how can I call Ajax when one or multiple checkboxes are checked? <strong>Please note that: In PHP file I want to get all checkbox or one checkbox value.</strong> </p> <p><strong>My Thought:</strong></p> <p>I think there should be a submit button as hidden. When I click on any checkbox It's should press the hidden button by jQuery to call the Ajax.</p> </div>

jQuery-serialize() 序列化 Form表单

<script type="text/javascript"> var path = "${pageContext.request.contextPath}"; $(document).ready(function(){ var url = path+"/webservice/getUser"; var queryString = ""; queryString = "?"+$("#search").serialize(); decodeURIComponent(queryString,true); $("#btn1").click(function(){ alert($("#search").serialize()); $("#resultDiv").load(url+queryString,function(response, status, xhr){ alert("提交成功!"+ status); }); }) }) function ajaxGet(){ var url = path+"/webservice/ajaxGet"; $.get(url,function(data,status){ alert("数据:"+data+",状态:"+status); alert(" 牛牪犇"); }); alert("回调成功!"); } </script> <body> <div> <h2> WebService </h2> ${web } </div> <div id="seacrhDiv"> <form id="search" name="search" method="get" action="${pageContext.request.contextPath}/webservice/getUser"> 姓名: <input type="text" name="name" id="nameId" value="1111"><br/> 密码: <input type="text" name="passw" id="passwId"><br/> <input type="button" value="jQuery提交" id="btn1"> <input type="submit" value="表单提交" id="btn2"> <input type="button" value="js提交" id="btn3" onclick="search()"><br/> <input type="button" value="ajaxGet" id="ajax" onclick="ajaxGet()"> </form> </div> <div id="resultDiv"> 开始页面: </div> </body> </html> ``` public class QueryForm { private String name; private String passw; private String patientValue; private Integer orgId; private Long patientId; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPassw() { return passw; } public void setPassw(String passw) { this.passw = passw; } public String getPatientValue() { return patientValue; } public void setPatientValue(String patientValue) { this.patientValue = patientValue; } public Integer getOrgId() { return orgId; } public void setOrgId(Integer orgId) { this.orgId = orgId; } public Long getPatientId() { return patientId; } public void setPatientId(Long patientId) { this.patientId = patientId; } } ``` package com.founder.controller.annotation; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import com.founder.cxf.ws.HelloWorld; import com.founder.cxf.ws.impl.HelloWorldWs; import com.founder.entity.QueryForm; /** * * @author deng_tianguang * @version v1.0 * @see Controller 类注解 * */ @Controller @RequestMapping("/webservice") public class WebServiceController { @RequestMapping("/begin") public String addUser(HttpServletRequest request, HttpServletResponse response){ return "annotation"; } @RequestMapping(value="/getUser",method = RequestMethod.GET) public String delUser(HttpServletRequest request, HttpServletResponse response, ModelMap model, QueryForm queryForm){ String name = queryForm.getName(); String passw = queryForm.getPassw(); model.addAttribute("name",name); model.addAttribute("passw",passw); return "result"; } } 各位大牛,在序列化form表单的时候,queryForm 中无法获取<input> 表单元素中的值,若表单元素中有默认值,就可以获取的到,但是在页面上面更改了默认值,就无法再获取了。 求帮忙! 谢啦!

如何使用Jquery获取隐藏值?

<div class="post-text" itemprop="text"> <p>I am trying to get a hidden field (product) value in my form and pass this through on the thank you page:</p> <pre><code>&lt;form action="" name="downloadform" id="downloadform" class="downloadform" method="post"&gt; &lt;div class="field"&gt; &lt;input name="name" type="text" id="name" class="input name" placeholder="Name..." /&gt; &lt;/div&gt; &lt;div class="field"&gt; &lt;input name="company" type="text" id="company" class="input company" placeholder="Company..." /&gt; &lt;/div&gt; &lt;div class="field"&gt; &lt;input name="tel" type="text" id="tel" class="input tel" placeholder="Telephone..." /&gt; &lt;/div&gt; &lt;div class="field"&gt; &lt;input name="email" type="text" id="email" class="input email" placeholder="Email Address..." /&gt; &lt;/div&gt; &lt;?php /*?&gt;&lt;div class="field captcha"&gt; &lt;img class="captcha_input" src="/inc/captcha.php" /&gt; &lt;input name="captcha" type="text" id="captcha" class="input captcha" placeholder="Please enter characters..."&gt; &lt;/div&gt;&lt;?php */?&gt; &lt;div class="field"&gt; &lt;div class="medium secondary btn"&gt;&lt;input type="submit" name="Submit2" value="Send Request" class="btn" id="downloadbtn" /&gt;&lt;/div&gt; &lt;input type="hidden" name="product" id="product" class="product" value="&lt;?php echo $page[3]; ?&gt;" /&gt; &lt;input type="hidden" name="antiSpam" id="antiSpam" /&gt; &lt;/div&gt; &lt;/form&gt; </code></pre> <p>I have an ajaxform file as follows below:</p> <pre><code>var antiSpam = function() { if (document.getElementById("antiSpam")) { a = document.getElementById("antiSpam"); if (isNaN(a.value) == true) { a.value = 0; } else { a.value = parseInt(a.value) + 1; } } setTimeout("antiSpam()", 1000); } </code></pre> <p>antiSpam();</p> <pre><code>$(function() { filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/; $("#downloadbtn").click(function() { var name = $("#name").val(); var company = $("#company").val(); var tel = $("#tel").val(); var email = $("#email").val(); var product = $("#product").val(); var antispam = $("#antiSpam").val(); if (name == "") { $("#name").focus(); $("#name").val(""); $("#name").css({background:"#b72a18", color:"#fff"}); return false; } if (company == "") { $("#company ").focus(); $("#company ").val(""); $("#company ").css({background:"#b72a18", color:"#fff"}); return false; } if (tel == "") { $("#tel").focus(); $("#tel").val(""); $("#tel").css({background:"#b72a18", color:"#fff"}); return false; } if (!filter.test(email)) { $("#email").focus(); $("#email").val(""); $("#email").css({background:"#b72a18", color:"#fff"}); return false; } if (product == "") { $("#product").focus(); $("#product").val(""); $("#product").css({background:"#b72a18", color:"#fff"}); return false; } $('.downloadform').html('&lt;center&gt;&lt;img src="/images/ajax-loader.gif" style="padding:20px;"&gt;&lt;/center&gt;'); var dataString = '&amp;name=' + name + '&amp;tel=' + tel + '&amp;company=' + company + '&amp;email=' + email + '&amp;product=' + product + '&amp;antispam=' + antispam + '&amp;type=download'; //alert (dataString);return false; $.ajax({ type: "POST", url: "/process.php", data: dataString, success: function() { setTimeout(function() { $('.downloadform').html('&lt;p&gt;Thank you for your enquiry, we will contact you shortly. &lt;a href="/pdfs/"&gt;Download&lt;/a&gt;&lt;/p&gt;'); }, 3500); } }); return false; }); }); </code></pre> <p>As above on the very last part "Thank you for your enquiry, we will contact you shortly, I would like to get the hidden field product value?</p> </div>

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> ```

处理从 ajax post 下载文件

<div class="post-text" itemprop="text"> <p>I have a javascript app that sends ajax POST requests to a certain URL. Response might be a JSON string or it might be a file (as an attachment). I can easily detect Content-Type and Content-Disposition in my ajax call, but once I detect that the response contains a file, how do I offer the client to download it? I've read a number of similar threads here but none of them provide the answer I'm looking for. </p> <p>Please, please, please do not post answers suggesting that I shouldn't use ajax for this or that I should redirect the browser, because none of this is an option. Using a plain HTML form is also not an option. What I do need is to show a download dialog to the client. Can this be done and how?</p> <p>EDIT:</p> <p>Apparently, this cannot be done, but there is a simple workaround, as suggested by the accepted answer. For anyone who comes across this issue in the future, here's how I solved it:</p> <pre><code>$.ajax({ type: "POST", url: url, data: params, success: function(response, status, request) { var disp = request.getResponseHeader('Content-Disposition'); if (disp &amp;&amp; disp.search('attachment') != -1) { var form = $('&lt;form method="POST" action="' + url + '"&gt;'); $.each(params, function(k, v) { form.append($('&lt;input type="hidden" name="' + k + '" value="' + v + '"&gt;')); }); $('body').append(form); form.submit(); } } }); </code></pre> <p>So basically, just generate a HTML form with the same params that were used in AJAX request and submit it. </p> </div> <p>转载于:https://stackoverflow.com/questions/16086162/handle-file-download-from-ajax-post</p>

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

程序员请照顾好自己,周末病魔差点一套带走我。

程序员在一个周末的时间,得了重病,差点当场去世,还好及时挽救回来了。

Java基础知识面试题(2020最新版)

文章目录Java概述何为编程什么是Javajdk1.5之后的三大版本JVM、JRE和JDK的关系什么是跨平台性?原理是什么Java语言有哪些特点什么是字节码?采用字节码的最大好处是什么什么是Java程序的主类?应用程序和小程序的主类有何不同?Java应用程序与小程序之间有那些差别?Java和C++的区别Oracle JDK 和 OpenJDK 的对比基础语法数据类型Java有哪些数据类型switc...

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

和黑客斗争的 6 天!

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都...

Intellij IDEA 实用插件安利

1. 前言从2020 年 JVM 生态报告解读 可以看出Intellij IDEA 目前已经稳坐 Java IDE 头把交椅。而且统计得出付费用户已经超过了八成(国外统计)。IDEA 的...

女程序员,为什么比男程序员少???

昨天看到一档综艺节目,讨论了两个话题:(1)中国学生的数学成绩,平均下来看,会比国外好?为什么?(2)男生的数学成绩,平均下来看,会比女生好?为什么?同时,我又联想到了一个技术圈经常讨...

总结了 150 余个神奇网站,你不来瞅瞅吗?

原博客再更新,可能就没了,之后将持续更新本篇博客。

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

魂迁光刻,梦绕芯片,中芯国际终获ASML大型光刻机

据羊城晚报报道,近日中芯国际从荷兰进口的一台大型光刻机,顺利通过深圳出口加工区场站两道闸口进入厂区,中芯国际发表公告称该光刻机并非此前盛传的EUV光刻机,主要用于企业复工复产后的生产线扩容。 我们知道EUV主要用于7nm及以下制程的芯片制造,光刻机作为集成电路制造中最关键的设备,对芯片制作工艺有着决定性的影响,被誉为“超精密制造技术皇冠上的明珠”,根据之前中芯国际的公报,目...

优雅的替换if-else语句

场景 日常开发,if-else语句写的不少吧??当逻辑分支非常多的时候,if-else套了一层又一层,虽然业务功能倒是实现了,但是看起来是真的很不优雅,尤其是对于我这种有强迫症的程序"猿",看到这么多if-else,脑袋瓜子就嗡嗡的,总想着解锁新姿势:干掉过多的if-else!!!本文将介绍三板斧手段: 优先判断条件,条件不满足的,逻辑及时中断返回; 采用策略模式+工厂模式; 结合注解,锦...

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

2020阿里全球数学大赛:3万名高手、4道题、2天2夜未交卷

阿里巴巴全球数学竞赛( Alibaba Global Mathematics Competition)由马云发起,由中国科学技术协会、阿里巴巴基金会、阿里巴巴达摩院共同举办。大赛不设报名门槛,全世界爱好数学的人都可参与,不论是否出身数学专业、是否投身数学研究。 2020年阿里巴巴达摩院邀请北京大学、剑桥大学、浙江大学等高校的顶尖数学教师组建了出题组。中科院院士、美国艺术与科学院院士、北京国际数学...

为什么你不想学习?只想玩?人是如何一步一步废掉的

不知道是不是只有我这样子,还是你们也有过类似的经历。 上学的时候总有很多光辉历史,学年名列前茅,或者单科目大佬,但是虽然慢慢地长大了,你开始懈怠了,开始废掉了。。。 什么?你说不知道具体的情况是怎么样的? 我来告诉你: 你常常潜意识里或者心理觉得,自己真正的生活或者奋斗还没有开始。总是幻想着自己还拥有大把时间,还有无限的可能,自己还能逆风翻盘,只不是自己还没开始罢了,自己以后肯定会变得特别厉害...

男生更看重女生的身材脸蛋,还是思想?

往往,我们看不进去大段大段的逻辑。深刻的哲理,往往短而精悍,一阵见血。问:产品经理挺漂亮的,有点心动,但不知道合不合得来。男生更看重女生的身材脸蛋,还是...

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试:第十六章:Java中级开发

HashMap底层实现原理,红黑树,B+树,B树的结构原理 Spring的AOP和IOC是什么?它们常见的使用场景有哪些?Spring事务,事务的属性,传播行为,数据库隔离级别 Spring和SpringMVC,MyBatis以及SpringBoot的注解分别有哪些?SpringMVC的工作原理,SpringBoot框架的优点,MyBatis框架的优点 SpringCould组件有哪些,他们...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

Python爬虫,高清美图我全都要(彼岸桌面壁纸)

爬取彼岸桌面网站较为简单,用到了requests、lxml、Beautiful Soup4

差点跪了...

最近微信又搞出了一个大利器,甚至都上了热搜,当然消息最敏捷的自媒体人,纷纷都开通了自己的视频号。01 视频号是什么呢?视频号是微信体系内的短视频,它不同...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

Vue回炉重造之router路由(更新中)

你好,我是Vam的金豆之路,可以叫我豆哥。2019年年度博客之星、技术领域博客专家。主要领域:前端开发。我的微信是 maomin9761,有什么疑问可以加我哦,自己创建了一个微信技术交流群,可以加我邀请你一起交流学习。最后自己也创建了一个微信公众号,里面的文章是我自己精挑细选的文章,主要介绍各种IT新技术。欢迎关注哦,微信搜索:臻美IT,等你来。 欢迎阅读本博文,本博文主要讲述【】,文字通...

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

Java岗开发3年,公司临时抽查算法,离职后这几题我记一辈子

前几天我们公司做了一件蠢事,非常非常愚蠢的事情。我原以为从学校出来之后,除了找工作有测试外,不会有任何与考试有关的事儿。 但是,天有不测风云,公司技术总监、人事总监两位大佬突然降临到我们事业线,叫上我老大,给我们组织了一场别开生面的“考试”。 那是一个风和日丽的下午,我翘着二郎腿,左手端着一杯卡布奇诺,右手抓着我的罗技鼠标,滚动着轮轴,穿梭在头条热点之间。 “淡黄的长裙~蓬松的头发...

大胆预测下未来5年的Web开发

在2019年的ReactiveConf 上,《Elm in Action》的作者Richard Feldman对未来5年Web开发的发展做了预测,很有意思,分享给大家。如果你有机会从头...

立即提问
相关内容推荐