在html表单中循环
looping through an html form
我正在尝试验证html表单,并在提交时如果任何元素为空则返回警报。当我测试此脚本时,无论是否填写了任何字段,都会将from发送到服务器。如有任何帮助,我们将不胜感激。
<script type="text/javascript">
/* <![CDATA [ */
function validateForm()
{
for(var i=0; i < document.salesRecords.elements.length; i++)
{
if(document.salesRecords.elements[i].value == null || document.salesRecords.elements[i].value == "")
{
alert("Error " + name + " must be given a value");
return false;
}
else return true;
}
}
/* ]]> */
</script>
HTML
<form action ="some_action.php" name="salesRecords" method="post">
Client = <input type="text" name="client" value="" /> </br>
Date = <input type="text" name="date" value="" /> </br>
Value = <input type="text" name="amount" value="" /> </br>
<input type="submit" value="Submit" onclick="validateForm();"/>
试试这个:
Html:
<input type="submit" value="Submit" onclick="return validateForm();"/>
Javascript:
function validateForm()
{
for(var i=0; i < document.salesRecords.elements.length; i++)
{
if(document.salesRecords.elements[i].value == null ||
document.salesRecords.elements[i].value == "")
{
alert("Error " + document.salesRecords.elements[i].getAttribute("name") + " must be given a value");
return false;
}
}
}
演示
在Submit
按钮的onclick
属性中,您必须实际将返回值与return validateForm();
一起使用,而不仅仅是调用方法:
<input type="submit" value="Submit" onclick="return validateForm();"/>
UPDATE(javascript中的附加逻辑问题)
查看您的javascript后,您会遇到一个逻辑问题,即使某些字段"无效",也会导致表单提交:
else return true;
这一行在for
循环中,在第一个表单字段正确验证后,它将成为return true
。
修复方法是在循环结束后简单地删除行并添加return true;
:
function validateForm() {
for(var i=0; i < document.salesRecords.elements.length; i++) {
if(document.salesRecords.elements[i].value == null || document.salesRecords.elements[i].value == "") {
alert("Error " + name + " must be given a value");
return false;
}
}
return true;
}
相关文章:
- 当选择值x时,Javascript需要在正确的位置显示文本区域,从而循环通过具有选择选项的表单
- 循环遍历包含另一个表单的表单
- 表单提交在一段时间循环PHP,jquery
- 表单中的 jQuery DOM 不会在 for 循环中更新
- 我的单选按钮没有从foreach循环中获得值,表单验证返回'必填字段'即使已检查
- 在每个循环中的表单上使用嵌套资源和html类Rails Ajax
- 如何在HTML表单上进行制表符循环
- 如何使此表单验证脚本在返回之前循环通过整个表单部分
- 使用Jquery循环遍历表单中的元素
- 带有表单值的Javascript While循环
- 使用ajax循环while中的多个表单
- 在html表单中循环
- jQuery:从带有 for 循环的数组动态构建表单
- 在 Javascript 中循环并删除表单元素
- 避免在自动提交表单时出现重复或无限循环
- 单击编辑按钮时,如何使用 jquery 从循环表的每一行传递 id
- JQuery 循环访问表单元素时出现问题
- PHP 循环使用按钮 ID 的表单
- JavaScript - 在“for”循环中设置表单输入属性
- 使用jquery/ajax提交循环表单