Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JQGrid在表单提交时填充_Javascript_Jquery_Forms_Jqgrid - Fatal编程技术网

Javascript JQGrid在表单提交时填充

Javascript JQGrid在表单提交时填充,javascript,jquery,forms,jqgrid,Javascript,Jquery,Forms,Jqgrid,我有一个.jsp页面,我在其中创建了一个表单: <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!doctype html> <html> <head> <meta charset="utf-8"> <title>

我有一个.jsp页面,我在其中创建了一个表单:

    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <!doctype html>
    <html>

    <head>
    <meta charset="utf-8">
    <title>Bank Details</title>
    <!-- Include meta tag to ensure proper rendering and touch zooming -->
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <link rel="stylesheet" href="./css/jquery-ui.css">
    <link rel="stylesheet" href="./css/bootstrap.css">
    <link rel="stylesheet" href="./css/bootstrap-select.min.css">

    <!-- The jQuery library is a prerequisite for all jqSuite products -->
    <script type="text/ecmascript" src="./js/jquery.min.js"></script>
    <!-- This is the Javascript file of jqGrid -->
    <script type="text/ecmascript" src="./js/trirand/jquery.jqGrid.min.js"></script>
    <!-- This is the localization file of the grid controlling messages, labels, etc.-->
    <script type="text/ecmascript" src="./js/trirand/i18n/grid.locale-en.js"></script>
    <!-- The "sortable" behaviour is needed by jqGrid for column resizing -->
    <script type="text/ecmascript" src="./js/jquery.ui.sortable.min.js"></script>
    <!-- A link to a jQuery UI ThemeRoller theme, more than 22 built-in and many more custom -->
    <link rel="stylesheet" type="text/css" media="screen" href="./css/jquery-ui.css" />
    <!-- The link to the CSS that the grid needs -->
    <link rel="stylesheet" type="text/css" media="screen" href="./css/trirand/ui.jqgrid.css" />

    <script type="text/javascript" src="./scripts/bootstrap.js"></script>
    <script type="text/javascript" src="./scripts/bootstrap-select.min.js"></script>
    <script src="./js/jqGridBankDetails.js"></script>

    </head>

    <body>
            <form action="jqGridDetails" method="post">         
            <div class="well">
              <label id="rankIDLbl" for="rankIDCntrl">Rank ID </label><span style="font-weight: bold;"> :</span> 
              <select id="rankIDCntrl" name="rankIDCntl" class="selectpicker">
                <option></option>
                <option>Rank1</option>
                <option>Rank2</option>
            </select>

            <label for="lockerIDCntrl" style="padding-left: 150px;">Locker ID : </label> <select
                id="lockerIDCntrl" name="lockerIDCntrl" class="selectpicker">
                <option></option>
                <option>Locker1</option>
                <option>Locker2</option>
            </select>
        </div>
        <div style="float: right; padding-right: 15px;">
            <input type="submit" value="Search" id="searchBtn" class="btn btn-primary" />
            <input type="button" value="Reset" id="resetBtn" class="btn btn-primary" />
        </div>
    </form>
<table id="list">
        <tr>
            <td />
        </tr>
    </table>
    <div id="pager"></div>
    </body>
    </html>

jqGrid是纯JavaScript库,但您不会发布任何您使用的JavaScript代码。此外,需要至少有一个空的
元素,jqGrid将其转换为网格。您发布的HTML代码不包含任何
。将
转换为网格(div和表的复杂结构)后,jqGrid可以从服务器(从doPost方法返回的JSON)加载网格的内容。如果我理解正确,您可以尝试使用HTML表单而不是表将一些数据发布到服务器(您目前不使用这些数据)。这似乎是个错误的方法。谢谢你的回复。。我已经更新了我的jsp代码。现在已经完成了。我使用的表在第一次加载页面时可以看到我的JQGrid布局。但我尝试在表单提交后通过服务器端加载JQGrid表中的数据。我可以重复JQGrid是JavaScript库。如果您对jqGrid的使用有问题,您应该包括您使用的JavaScript代码。只写代码在
中并没有给出任何信息。编辑了包含创建jqGrid代码的帖子
<script src="./js/jqGridBankDetails.js"></script>
protected void doPost(HttpServletRequest request,
            HttpServletResponse response) throws ServletException, IOException {
        JqGridModel gridModel1 = new JqGridModel();
        gridModel1.setId(1);
        gridModel1.setFirstName("Mohaideen");
        gridModel1.setLastName("Jamil");
        gridModel1.setCity("Coimbatore");
        gridModel1.setState("TamilNadu");
        JqGridModel gridModel2 = new JqGridModel();
        gridModel2.setId(2);
        gridModel2.setFirstName("Ameerkhan");
        gridModel2.setLastName("Saffar");
        gridModel2.setCity("Thirunelveli");
        gridModel2.setState("Tamilnadu");
        List<JqGridModel> jqGridModels = new ArrayList<>();
        jqGridModels.add(gridModel1);
        jqGridModels.add(gridModel2);
        Gson gson = new GsonBuilder().setPrettyPrinting().create();
        String jsonArray = gson.toJson(jqGridModels);
        jsonArray = "{\"page\":1,\"total\":\"2\",\"records\":"
                + jqGridModels.size() + ",\"rows\":" + jsonArray + "}";
        System.out.println(jsonArray);
        response.getWriter().print(jsonArray);
    }
jQuery(document).ready(function() {
    $("#list").jqGrid({
        url : "GridServlet",
        datatype : "json",
        mtype : 'POST',
        colNames : [ 'Id', 'FirstName', 'LastName', 'City', 'State' ],
        colModel : [ {
            name : 'id',
            index : 'id',
            width : 100
        }, {
            name : 'firstName',
            index : 'firstName',
            width : 150,
            editable : true
        }, {
            name : 'lastName',
            index : 'lastName',
            width : 150,
            editable : true
        }, {
            name : 'city',
            index : 'city',
            width : 100,
            editable : true
        }, {
            name : 'state',
            index : 'state',
            width : 100,
            editable : true
        } ],
        pager : '#pager',
        rowNum : 10,
        rowList : [ 10, 20, 30 ],
        sortname : 'invid',
        sortorder : 'desc',
        viewrecords : true,
        gridview : true,
        caption : 'Data Report',
        jsonReader : {
            repeatitems : false,
        },
        editurl : "GridServlet"
    });
    jQuery("#list").jqGrid('navGrid', '#pager', {
        edit : true,
        add : true,
        del : true,
        search : true
    });
});