HTML / javascript表单字段验证

时间:2012-01-12 18:50:19

标签: javascript html struts

我有一个表格,允许用户输入有关校准的信息。用户输入初始测量值和调整后的测量值,并从数据库中提取公差和标准。我试图找到一种方法来比较调整后的测量值与标准和容差,以便在用户输入超出公差范围的调整后的测量值时发出警告。示例:标准 - 5毫米公差 - 0.5毫米。用户输入5.55mm进行调整测量。当他们点击提交时,会出现一个弹出窗口,警告用户此测量值超出容差范围。现在我在提交表单后进行比较,并将用户带回页面,但这只是一个警告,这似乎是多余的。我如何使用当前代码来实现这一点?我已经尝试了一个验证形式的javascript函数,但我的字段名称是动态生成的,所以我不确定如何继续。动态生成它们的原因是因为在给定日期可能会有任意数量的校准,并且此页面允许一次输入所有校准。

为简单起见,我只包含了我所询问的字段的实际表单代码(因为表单中有许多与我的问题无关的其他文本字段)以及我在验证表单函数中的尝试失败。 / p>

function validateForm()
            {
                var x=document.forms["addMaintForm"]["am"].value;
                if (x< measure-range  || x>measure+range)
                {
                    alert("Adjusted Value for " + name + " is outside of tolerance range");
                }
            }



<html:form action="/addMaint" onsubmit="return validateForm()" enctype="multipart/form-data">
<%! String measure;%>
<%! String range;%>
<%! int counter = 0;%>

<logic:iterate id="calibresult" name="calibresults" indexId="ctr">
                                <tr>
                                    <bean:define id="measure" property="Measure" name="calibresult" scope="page" type="java.lang.String"/>

                                    <bean:define id="range" property="Tolerance" name="calibresult" scope="page" type="java.lang.String"/>

                                    <td><html:text property='<%= "am[" + counter + "]"%>'/><br><i>Must be a numerical value</i></td>
                            <input type="hidden" name='<%= "measure[" + counter + "]"%>' property='<%= "measure[" + counter + "]"%>' value='<%= measure%>'/>
                            <input type="hidden" name='<%= "range[" + counter + "]"%>' property='<%= "range[" + counter + "]"%>' value='<%= range%>'/>
                            <% counter++;%>
                            </tr>
                        </logic:iterate>

<html:submit property="button" value="Record"/>

0 个答案:

没有答案