Spring MVC仅发布选定数据

时间:2013-04-20 14:41:23

标签: java spring jsp spring-mvc

当我从href标签中选择犯罪编号时,此页面显示几条记录我只想在该行中发布数据。谁能告诉我我在哪里错了: 我为从服务器返回的每条记录做了不同的表单,但只有第一条记录一直返回。

修改 该页面使用java脚本进行POST,其接收的Id为NULL

犯罪记录被准确发布但是受害者和犯罪名单只发布了第一行而不是被选中的。为什么????

function submitPage(crimeRecNo) {

        document.getElementById("crimeList"+$('#crimeRecNo').val()).action = "getCrime/"+ crimeRecNo + ".htm";
        document.getElementById("crimeList"+$('#crimeRecNo').val()).method = "POST";
        document.getElementById("crimeList"+$('#crimeRecNo').val()).submit();

    }

HTML

  </head>
<body>
    <c:forEach items="${crimes}" var="crime">
        <form:form id="crimeList${crime.crimeRecNo}" name="crimeList" commandName="crime">
            <div id="content">

                <div class="row-${crime.crimeRecNo}">
                    <h2>                            
                        <a class="crimeRecNo" href="${crime.crimeRecNo}">Crime Record
                            Number : ${crime.crimeRecNo}</a><form:input path="crimeRecNo" id="crimeRecNo"
                                            value="${crime.crimeRecNo}" />

                    </h2>

                    <div class="crimeReport">
                        <label>${crime.crimeDetails}</label>
                    </div>

                    <div id="container">

                        <div id="crimePhotoz">
                            <div id="victimLabel">
                                <label class="heading">Victims/Witness In Crime</label>
                            </div>
                            <div class="grid_row">

                                <c:forEach items="${crime.victims}" var="victim">
                                    <input type="hidden" value="${victim.photo}" class="foto" />
                                    <canvas class="canvas" height="200" width="200"></canvas>
                                </c:forEach>

                                <c:forEach items="${crime.victims}" var="victim">
                                    <div class="names">
                                        <a class="crimeNames" href="${victim.socialSecurityNumber}">${victim.name}</a>
                                        <form:input path="victims" id="victims" value="${victim.socialSecurityNumber}" />
                                    </div>
                                </c:forEach>

                            </div>

                            <div id="criminalLabel">
                                <label class="heading">Criminals In Crime</label>
                            </div>
                            <div class="grid_row2">

                                <c:forEach items="${crime.criminals}" var="criminal">
                                    <input type="hidden" value="${criminal.photo}" class="foto" />
                                    <canvas class="canvas" height="200" width="200"></canvas>
                                </c:forEach>

                                <c:forEach items="${crime.criminals}" var="criminal">
                                    <div class="names">
                                        <a class="crimeNames" href="${criminal.socialSecurityNumber}">${criminal.name}</a>
                                        <form:input path="criminals" id="criminals" value="${criminal.socialSecurityNumber}" />
                                    </div>
                                </c:forEach>
                            </div>
                        </div>
                    </div>
                </div>
                <hr>
            </div>
        </form:form>
    </c:forEach>


</body>
</html>

1 个答案:

答案 0 :(得分:2)

也许你错过了一些引用?

document.getElementById(${crime.crimeRecNo})

如果${crime.crimeRecNo}是字符串,则变为

document.getElementById(myRecNo)

这是无效的javascript。在这种情况下,您应该添加引号:

document.getElementById("${crime.crimeRecNo}")

如果${crime.crimeRecNo}是一个数字,则不需要引号,但您可能会有无效的ID。根据{{​​3}},html id必须至少以字符开头。我不确定这是否会导致问题,但也许你应该尝试<form id="record-${crime.crimeRecNo}" .. >