gpt4 book ai didi

javascript - 复选框验证-验证至少一项被选中

转载 作者:太空宇宙 更新时间:2023-11-04 12:34:22 25 4
gpt4 key购买 nike

需要帮助来验证是否使用 Java 脚本至少选中了一个复选框。

工作流程:

1.用户选择复选框值

2.选择值后,用户点击保存按钮

如果未选择任何复选框值,则应发出警报以选择至少一个复选框值

这是代码

产品.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>

最佳答案

您的 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;

}

关于javascript - 复选框验证-验证至少一项被选中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37486911/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com