jQuery MiniUI

标题: 设置了ID=“organame” 取值时,取不到。 求大佬。大神帮忙看 [打印本页]

作者: ly1203    时间: 2017-9-1 16:20:08     标题: 设置了ID=“organame” 取值时,取不到。 求大佬。大神帮忙看

本帖最后由 ly1203 于 2017-9-1 16:21 编辑

<%@ page contentType="text/html; charset=utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
        <title>机构管理系统</title>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <jsp:include page="/include/miniui.jsp"></jsp:include>
</head>
<body id="bodyContent">
        <c:url var="GRID_URL" value="/OrganizationManagement/queryOrganization"></c:url>
        <div class="mini-panel" title="查询条件" showCollapseButton="true" style="width: 99%; height:auto;" iconCls="icon-filter"
               >
                <div id="queryformDIV">
                        <table width="99%" border="0"  cellpadding="5" cell spacing="0">
                                <tr>
                                        <th width="10%"><label for="organame$text">机构编号:</label></th>
                                        <td><input id="organame" name="organame" style="width:200px;margin-left:-1px"
                                                         />
                                        </td>
                                        <td nowrap="nowrap" colspan="2" align="right">
                                                <a class="mini-button" iconCls="icon-query">查询</a>
                                                <a class="mini-button" iconCls="icon-cancel">重置</a>
                                        </td>
                                </tr>
                        </table>
                </div>
        </div>
        <div style="width:99%;">
        <div class="mini-toolbar" style="border-bottom:0;padding:0px;">
            <table style="width:100%;">
                <tr>
                    <td style="width:100%;">
                    <a class="mini-button" iconCls="icon-upload" plain="true">增加机构</a>
                    <a class="mini-button" iconCls="icon-download" plain="true">修改管理机构</a>
                    <a class="mini-button" iconCls="icon-edit" plain="true">删除</a>
<!--                      <a class="mini-button" iconCls="icon-remove" plain="true">删除</a> -->
                    </td>

                </tr>
            </table>
        </div>
    </div>
    <div id="jizhigrid" class="mini-datagrid" style="width:99%;height:78%;" allowResize="true"
        url="${GRID_URL}" idfile="id" multiSelect="true" pageSize="20"  
         showEmptyText="没有查询用户信息">
        <div property="columns">
                 <div type="checkcolumn">选择</div>
            <div type="indexcolumn" headerAlign="center">标识</div>
            <div field="id" width="60" headerAlign="center" allowSort="false" visible="false">id</div>
            <div field="organame" width="60" headerAlign="center" allowSort="false">机制名称</div>
            <div field="tel" width="60" headerAlign="center" allowSort="false">联系方式</div>
                        <div field="zh" width="100" headerAlign="center" allowSort="false" >注释</div>
        </div>
    </div>
    <script type="text/javascript">
    mini.parse();
    var  grid=mini.get("jizhigrid");
    grid.load();
    function doQuery(){
                //        var orgn =  mini.get(document.getElementById("organame").getvalue());
          // var orga=mini.get("organame").getvaule();
       //   var orga=mini.get("bodyContent").getvalue();
       var organame =mini.get("#organame").value;
                        grid.load({organamerganame});// 这里是冒号:o
                }
                        function onKeyEnter(){
                        doQuery();
                }
                        <%-- 清空查询条件 --%>
                function doReset(){//清空查询条件
                        mini.get("#organame").setValue("");
                        grid.load();
                }   
                <%-- 新增管理机构 --%>
                function add(){
                          mini.open({
                       url: "${pageContext.request.contextPath}/OrganizationManagement/orgaAdd",
                       title: "新增管理结构", width: 600, height: 400,
                       onload: function () {
                       },
                       ondestroy: function (action) {
                           grid.reload();
                       }
                   });
                }
                <%-- 修改管理机构 --%>
                function edit(){
                         var rows =grid.getSelecteds();
                                if(rows.length<1){
                                        mini.alert("请先选择要修改的管理结构!");
                                        return;        
                                }
                                if(rows.length>1){
                                        mini.alert("请只选择一条需要修改的管理结构!");
                                        return;        
                                }
                       mini.open({
                       url: "${pageContext.request.contextPath}/OrganizationManagement/orgaAdd",
                       title: "管理机构修改", width: 600, height: 400,
                       onload: function (action) {
                               var iframe = this.getIFrameEl();
                               var data = {action: "edit", id: rows[0].id };
                                      iframe.contentWindow.SetData(data);
                    },
                    ondestroy: function (action) {
                                    grid.reload();
                    }
                });
                }
                <%-- 删除已有的管理机构 --%>
                function remove(){
                        var rows = grid.getSelecteds();
                           <%-- 新建数组用于存储删除的ID序列 --%>
                        var a = new Array();
                           if (rows.length<1) {
                                   mini.alert("请先选择要删除的机构!");
                                   return;
                           }
                           for(var i=0;i<rows.length;i++){
                                   a=rows.id;
                           }
                           if (confirm("确认删除该管理机构吗?")) {
                                   wdutil.request({
                                                           mask : "删除中,请稍后......",
                                                           url : "${pageContext.request.contextPath}/OrganizationManagement/removeOrganization",
                                                           data : {ids: a},
                                                           type : "post",
                                                           success : function(result) {
                                                                   if(result.flag==true){
                                                                           mini.alert("删除成功!");
                                                                           grid.reload();
                                                                   }else{
                                                                           wdutil.win.warn(result.errorMsg);
                                                                   }
                                                           }
                                                   });
                           }
                }
    </script>
</body>
</html>




作者: dforce    时间: 2017-9-1 17:06:14

mini.get(id)只能获取MiniUI控件,你这个organame不是miniui控件。请使用document.getElementById()来获取
作者: ly1203    时间: 2017-9-1 17:27:29

使用了document.getElementByid() 仍然取不到值
作者: ly1203    时间: 2017-9-1 17:28:15

dforce 发表于 2017-9-1 17:06
mini.get(id)只能获取MiniUI控件,你这个organame不是miniui控件。请使用document.getElementById()来获取 ...


使用了document.getElementByid() 仍然取不到值
作者: dforce    时间: 2017-9-4 09:24:31

ly1203 发表于 2017-9-1 17:28
使用了document.getElementByid() 仍然取不到值

不是MiniUI控件当然用原生的获取方式获取
document.getElementById("organame").value
作者: ly1203    时间: 2017-9-4 13:17:07

现在能够获取到值,添加一个alert能够取到值,但是点击查询的时候,数据并没有显示。大神能在帮忙看一下这段SQL代码吗public void queryOrganization(Page page, OrganizationVo orgavo) {
                StringBuffer sql=new StringBuffer();
                List<Object> params=new ArrayList<Object>();
//                sql.append("select a.*, (select organame from ORGANIZAITON where a.id=orid and aae100='1') as organame, ");
//                sql.append(" from ORGANIZAITON a  where a.aae100='1' ");
                sql.append("select  * from ORGANIZATION a where a.aae100='1' ");
//                sql.append("select a.*,(select organame from ORGANIZATION a where aae100='1') as organame,");
                if(StringUtils.isNotBlank(orgavo.getOrganame())){
                        sql.append("and organame like ?");
                        params.add("%"+orgavo.getOrganame()+"%");
                }if(orgavo.getOrganame()!=null){
                        sql.append("and a.orid=?");
                        params.add("%"+orgavo.getOrid()+"%");
                }
                if(orgavo.getId()!=null){
                        sql.append("and  a.id=?");
                        params.add("%"+orgavo.getId()+"%");
                }
                DBUtils.query(page, sql.toString(), params.toArray());
        }
作者: ly1203    时间: 2017-9-4 13:18:16

dforce 发表于 2017-9-4 09:24
不是MiniUI控件当然用原生的获取方式获取
document.getElementById("organame").value


现在能够获取到值,添加一个alert能够取到值,但是点击查询的时候,数据并没有显示。大神能在帮忙看一下这段SQL代码吗public void queryOrganization(Page page, OrganizationVo orgavo) {
                StringBuffer sql=new StringBuffer();
                List<Object> params=new ArrayList<Object>();
//                sql.append("select a.*, (select organame from ORGANIZAITON where a.id=orid and aae100='1') as organame, ");
//                sql.append(" from ORGANIZAITON a  where a.aae100='1' ");
                sql.append("select  * from ORGANIZATION a where a.aae100='1' ");
//                sql.append("select a.*,(select organame from ORGANIZATION a where aae100='1') as organame,");
                if(StringUtils.isNotBlank(orgavo.getOrganame())){
                        sql.append("and organame like ?");
                        params.add("%"+orgavo.getOrganame()+"%");
                }if(orgavo.getOrganame()!=null){
                        sql.append("and a.orid=?");
                        params.add("%"+orgavo.getOrid()+"%");
                }
                if(orgavo.getId()!=null){
                        sql.append("and  a.id=?");
                        params.add("%"+orgavo.getId()+"%");
                }
                DBUtils.query(page, sql.toString(), params.toArray());
        }
作者: dforce    时间: 2017-9-4 13:29:31

ly1203 发表于 2017-9-4 13:18
现在能够获取到值,添加一个alert能够取到值,但是点击查询的时候,数据并没有显示。大神能在帮忙看一下 ...

1 先检查前端获取的数据有没正确获取到,传递的时候是不是正常传递。
2 再后端断点进去看前端传过来的数据获取到的正常吗,sql查询之后又是不是正确           
作者: ly1203    时间: 2017-9-4 14:51:37

dforce 发表于 2017-9-4 13:29
1 先检查前端获取的数据有没正确获取到,传递的时候是不是正常传递。
2 再后端断点进去看前端传过来的数 ...

通过alert(orga)能够正常进行传值,设置断点通过对SQL语句进行查询时,IF语句没有执行,直接跳过
作者: dforce    时间: 2017-9-4 15:15:32

ly1203 发表于 2017-9-4 14:51
通过alert(orga)能够正常进行传值,设置断点通过对SQL语句进行查询时,IF语句没有执行,直接跳过 ...

不清楚你何时alert的,如果alertl之后可以进行查询,那么说明你方法的执行时机有问题。
作者: ly1203    时间: 2017-9-4 15:46:23

dforce 发表于 2017-9-4 15:15
不清楚你何时alert的,如果alertl之后可以进行查询,那么说明你方法的执行时机有问题。 ...

是在表单获取数据时alert, 能够获取到<input> 的值,执行SQL语句时。如刚才那段代码所示.只执行第一个sql语句。下面的if 都进行判断,都不满足条件
作者: dforce    时间: 2017-9-4 16:34:24

ly1203 发表于 2017-9-4 15:46
是在表单获取数据时alert, 能够获取到 的值,执行SQL语句时。如刚才那段代码所示.只执行第一个sql语句。 ...

我们不管你后台的sql,我们只是前端控件,你贴的代码我看你获取表单数据是在doQuery方法内,这方法是在onkeyenter这是绑定在什么控件上的?在这方法里面打断点看,grid.load({})的时候你传递的参数到底有没有。
作者: ly1203    时间: 2017-9-4 17:05:32

dforce 发表于 2017-9-4 16:34
我们不管你后台的sql,我们只是前端控件,你贴的代码我看你获取表单数据是在doQuery方法内,这方法是在onk ...

错误发生在grid.load()方法中,没有将参数传递。应该改为  var orgname=document.getElementById("organame1").value;
            
               grid.load({organamergname});
这样就可以成功的取到数值。
谢谢,帮忙。

作者: ly1203    时间: 2017-9-4 17:22:40

通过这这一系列的问题,让我稍微懂得了点东西。 当你点击查询没有成功出现数据时,到底是哪里出现了错误,是你的sql语句出现了问题?还是数据么有传递。 先查看SQL语句是否有问题,发现SQL语句能够输出/Sys.out.p(sql)。能够输出sql语句,发现if判断为空。 那就说明参数没有传递成功。那就去找设置查询的语句中去找
                System.out.println("==="+JsonUtils.toJson(orgaVo));  通过这个语句测试是否有值传递到后台,发现数据为nll ,说明数据没有成功传入到后台。 在去前端页面找doquery找原因 发现是   grid.load();这里没有将数据进行传递。改为   grid.load({organamergname}); 数据可以进行成功传递
作者: ly1203    时间: 2017-9-4 17:28:08

开拓一下思想,多想一下SQL语句查询是否有错误,有错误的话, 错在哪  试着将sql语句进行输出,在去找数据是否成功传递到后台, 没传递到后台。去前台找要传递数据的地方
作者: ly1203    时间: 2017-9-4 17:29:06

多学多想多练,加油。 少玩游戏
作者: felt    时间: 2017-9-5 09:19:21

ly1203 发表于 2017-9-4 17:29
多学多想多练,加油。 少玩游戏

[attach]9814[/attach] grid.load()就是默认加载,这时候没有传递参数啊,只有我们几个默认的分页参数。
你这查询的参数是需要你自己加进去的,这问题可以f12查看网络交互看的。




欢迎光临 jQuery MiniUI (http://miniui.com/discuss/) Powered by Discuz! X2