验证复选框和输入
Validating check box and input
我有一个表单,其中包括几个文本输入和复选框(复选框来自DB),所以…我知道如何分别验证它们,但我需要一起验证它们,我这样做的方式只验证复选框,我知道为什么会这样,但我不知道如何写正确的方式…你能帮我吗?下面是代码:
<form action="sendreq.php" name="contact" onsubmit="return valida_frm(this)" method="post">
<label>Name</label>
<input name="name" type="text" />
<label>Email</label>
<input name="email" type="text"/><!-- And Severeal inputs then the checkboxes-->
<?php $list3 = mysql_query("SELECT * FROM products ORDER BY id ASC LIMIT 20");
while($row = mysql_fetch_object($list3)){ ?>
<input id="product" name="product[]" class="label" type="checkbox" value="<?php echo $row->name?>"><label class="label"><?php echo $row->name?></label>
<?php }?>
验证不能正常工作,原因很明显,我只需要正确的方法来编写和统一警报的返回:
function valida_frm(form){
var alerta="Ooops:'n";
if (form.name.value == "") {alerta+="Name.'n";}
if (form.email.value == "") {alerta+="Email.'n";}
for(var i = 0; i < form.product.length; i++){
if(form.product[i].checked)return true;}
alert('Oooops');
return false;
if (alerta!="Error:'n"){
alert(alerta);
return false;
}else{
return true;
}
}
谢谢你的时间!
不要为"name"调用字段,然后测试form.name,因为它已经有一个。name
然后测试表单["product[]"]而不是表单。product -你不能让id="product",因为id必须是唯一的!我建议你给id="product<?echo $somecounter; ?>" />...<label for="product<? echo $somecounter; ?>">...</label>
也测试错误(或什么都没有,在我的建议),而不是Oops
还修复了更多问题
演示function valida_frm(form){
var alerta="";
if (form.name.value == "") {alerta+="Name.'n";} // Please use FullName or such
if (form.email.value == "") {alerta+="Email.'n";}
var chks = form["product[]"],
checked = false;
for(var i = 0; i < chks.length; i++) {
if(chks[i].checked) {
checked = true;
break;
}
}
if (!checked) {
alerta+='Product.'n';
}
if (alerta){
alert("Error:'n"+alerta);
return false;
}
return true;
}
相关文章:
- 我无法检查输入复选框元素
- 如何使用jquery从输入复选框中检索文本
- 根据条件使用ng repeat动态显示输入复选框
- 如何在选中所有输入复选框和单选组后显示javascript确认消息
- 如何保留输入复选框值的存储数组
- 如何使用 jquery 在页面加载时检查带有值的输入复选框字段
- 未捕获的错误:语法错误,无法识别的表达式:输入:复选框[名称=ninja_forms_field_57[术语]]
- 如何从输入复选框中获取值以在查询中使用它来显示信息
- 输入复选框 true 或选中或是
- Ember.js表中的输入复选框
- 如何使用输入复选框创建/更新数组
- 输入(复选框)在 IE8 中配置时不起作用:选中
- 语法错误,无法识别的表达式:[对象 HTMLDivElement]输入:复选框[名称=]:选中
- Jquery - .prop 不会动态选中我的输入复选框
- 使用javaScript更改输入复选框选中的属性
- 数组输入复选框上的“依赖”复选框
- 输入复选框总是返回false
- 输入复选框数组,如果未选中,jQuery不会发送任何值
- “操纵输入”复选框
- 按字母顺序对输入/复选框元素进行排序