需要帮助验证是否使用java脚本检查了至少一个复选框。
工作流程
1.用户选中复选框值
2.选择值后,用户点击保存按钮
如果未选中任何复选框值,则应引发警报以选择至少一个复选框值
这是代码
products.jsp
<%@page import="java.util.List"%>
<%@page import="web.Products"%>
<%@page import="java.util.ArrayList"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
function Validate()
{
var x[]=document.forms["sform"]["prod"].value;
for(var i=0;i<x.length;i++){
if(x[i].type=='checkbox'&&x[i].checked==false)
{
alert("Please select the products available and click save");
return false;
}
}
}
</script>
</head>
<body>
<form name="sform" method="post" action="Save_Products" onsubmit="javascript:return Validate();">
<b>
Brand Name:<font color="green">
<% String brand_name=(String)session.getAttribute("brand_name");
out.print(brand_name);%>
<c:set var="brand_name" value="brand_name" scope="session" />
</font></b>
<table>
<tr>
<th> Products</th>
<th> Description </th>
</tr>
<tr>
<td> <b><%
List<Products> pdts = (List<Products>) request.getAttribute("list");
if(pdts!=null){
for(Products prod: pdts){
out.println("<input type=\"checkbox\" name=\"prod\" value=\"" + prod.getProductname() + "\">" + prod.getProductname()+"<br>");
} %> </b></td>
<td><%for(Products prod: pdts){
out.println("<input type=\"text\" name=\"desc\" style=\"width:50px; height:22px\"/><br/>");
}
}
%> </td>
</tr>
<br/>
<br/>
<tr><td align="center"> <input type="submit" value="Save" name="save"/> </td></tr>
</table>
</form>
</body>
</html>
答案 0 :(得分:0)
您的javascript Validate()函数看起来有逻辑错误。
目前,只要找到一个为false的复选框,就会返回false并提醒用户。要获得所需的结果,只有在检查了所有复选框都为false后才会返回false(如果一个复选框为true,则返回true)。
以下功能可能与您正在寻找的功能相近。
function Validate() {
var x[]=document.forms["sform"]["prod"].value;
for(var i=0;i<x.length;i++){
if(x[i].type=='checkbox'&&x[i].checked==true) {
return true;
}
}
alert("Please select the products available and click save");
return false;
}
修改: 更新了代码。声明x数组时会出现语法错误(删除“[]”),我们需要将x初始化为整个数组,因此请从末尾删除“.value”。
function Validate() {
var x=document.forms["sform"]["prod"];
for(var i=0;i<x.length;i++){
if(x[i].type=='checkbox'&&x[i].checked==true) {
return true;
}
}
alert("Please select the products available and click save");
return false;
}