迭代bean列表并在javascript中验证数据

时间:2015-04-20 06:59:21

标签: javascript jquery forms validation jquery-plugins

我的表单包含输入字段,这些字段将在提交时根据最小值和最大值进行验证。输入字段将使用列表迭代显示在屏幕上。

<c:forEach var="Item" items="${listBean.nameList}" varStatus="status">
    <input type="number"name="nameList<c:outvalue='[${status.index}]'/>.initialWeight" onchange="checkOnChange(this,'<c:out value='${Item.personId}'/>','<c:out value='${Item.minWeight}'/>','<c:out value='${Item.maxWeight}'/>','<c:out value='[${status.index}]'/>')">
        <br><br>
    <input type="number" name="nameList<c:out value='[${status.index}]'/>.finalWeight" onchange="checkOnChange(this,'<c:out value='${Item.personId}'/>','<c:out value='${Item.minWeight}'/>','<c:out value='${Item.maxWeight}'/>','<c:out value='[${status.index}]'/>')">
        <br><br>
    <input type="text" class="formtext" name="nameList<c:out value='[${status.index}]'/>.Reason" id ="reason<c:out value='[${status.index}]'/>" value="" maxlength="255" >
        <br><br>
        <input type="submit" value="submit" id="submit" />

 </c:forEach>

因此,在提交表单时,我拥有将存储在bean中的所有用户输入值以及最小值/最大值。我需要验证表单并阻止用户提交表单(如果输入任何内容)值不在最小/最大值范围内。

所以我对如何在Java脚本中执行此操作感到困惑?

感谢您的建议和时间..

JSFIDDLE

1 个答案:

答案 0 :(得分:1)

我想说给id

<form id="frmDetails">
    <c:forEach var="Item" items="${listBean.nameList}" varStatus="status">
        <input type="number"name="nameList<c:outvalue='[${status.index}]'/>.initialWeight" onchange="checkOnChange(this,'<c:out value='${Item.personId}'/>','<c:out value='${Item.minWeight}'/>','<c:out value='${Item.maxWeight}'/>','<c:out value='[${status.index}]'/>')">
            <br><br>
        <input type="number" name="nameList<c:out value='[${status.index}]'/>.finalWeight" onchange="checkOnChange(this,'<c:out value='${Item.personId}'/>','<c:out value='${Item.minWeight}'/>','<c:out value='${Item.maxWeight}'/>','<c:out value='[${status.index}]'/>')">
            <br><br>
        <input type="text" class="formtext" name="nameList<c:out value='[${status.index}]'/>.Reason" id ="reason<c:out value='[${status.index}]'/>" value="" maxlength="255" >
            <br><br>
            <input type="submit" value="submit" id="submit" />

     </c:forEach>
</form>

下面是表单提交功能

<script type="text/javascript">

$("#frmDetails").on("submit",function(e){
var valid=true;
e.preventDefault();
var inputs=$(this).children('input');
$.each('input',function(index,value){
   if($(this).val()=="")//blank validation
   {
          valid=false;
   }
});
if(valid)
{
//post the form
}

$("#frmDetails").unbind("submit"); //To prevent the form from getting submitted 
});

</script>