遍历 bean 列表并验证 javascript 中的数据
Posted
技术标签:
【中文标题】遍历 bean 列表并验证 javascript 中的数据【英文标题】:Iterating through a bean list and validate the data in javascript 【发布时间】:2015-06-26 18:46:25 【问题描述】:我的表单包含输入字段,在提交时将根据最小值和最大值进行验证。输入字段将使用列表迭代显示在屏幕上。
<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】:我会说给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>
【讨论】:
只有在表单无效时才应该使用e.preventDefault()
。
@Guruprasad Rao 感谢您的回复。但在我的情况下,我需要将存储在 bean 中的最小值和最大值传递给 jquery 函数,以便对其进行验证。但您的答案只是检查空白值
其实我没有经验,或者说不知道这个 bean 列表,所以我只是给你一个如何验证的基本概念...... :) 无论如何 @987654321 @ 可能会有所帮助.. :)以上是关于遍历 bean 列表并验证 javascript 中的数据的主要内容,如果未能解决你的问题,请参考以下文章