Javascript 如何在表单验证中使用三个输入构建一个组?

Javascript 如何在表单验证中使用三个输入构建一个组?,javascript,forms,validation,Javascript,Forms,Validation,我想为我的足球打赌游戏示例检查3个输入。它可以工作,但我的表单中有3个以上的输入。我想检查至少3个输入的 三个输入组由两个type=“text”字段和一个type=checkbox组成 以下是我的HTML代码: <form id="AddTip" onsubmit="return chkAddTip()" action="Ctipservlet" method="POST"> <h1>Bet the Games</h1> <table&g

我想为我的足球打赌游戏示例检查3个输入。它可以工作,但我的表单中有3个以上的输入。我想检查至少3个输入的

三个输入组由两个type=“text”字段和一个type=checkbox组成

以下是我的HTML代码:

<form id="AddTip" onsubmit="return chkAddTip()" action="Ctipservlet" method="POST">
    <h1>Bet the Games</h1>
    <table>
        <tr><th>Playtime</th> <th>Games</th><th>Your bets</th><th>Confirmation</th></tr>
        <tr>
            <td>20:00 pm</td>
            <td>Dortmund - Bayern</td>
            <td><input type="text" name="team_a0" maxlength="2" size="2">:<input type="text" name="team_b0" maxlength="2" size="2"></td>
            <td><input type="checkbox" name="check0"></td>
        </tr>
        <tr>
            <td>19:00 pm</td>
            <td>Dortmund - Schalke</td>
            <td><input type="text" name="team_a1" maxlength="2" size="2">:<input type="text" name="team_b1" maxlength="2" size="2"></td>
            <td><input type="checkbox" name="check1"></td>
        </tr>
    </table>
    <input type="submit" name="tip" value="Get your bet">
    <input type="submit" onclick="this.form.onsubmit = null" name="back" value="Back">

打赌
游戏时间游戏下注确认
晚上20:00
多特蒙德-拜仁
:
下午19:00
多特蒙德-沙尔克
:
这里是我的JavaScript函数:

function chkAddTip(){
    var inputs = document.getElementById('AddTip').getElementsByTagName('input');

    for (var i = 0; i < inputs.length; i += 3){
        if (inputs[i].type !== "submit" && (!inputs[i].value || !inputs[i + 1].value || !inputs[i + 2].checked)){
            alert("Bitte deinen Tipp und die Bestättigung abgeben.")
            inputs[i].focus();
            return false;
        }
    }
}
函数chkAddTip(){
var inputs=document.getElementById('AddTip').getElementsByTagName('input');
对于(变量i=0;i
创建一个布尔标志,在找到有效赌注时将其设置为
true
。一旦此标志设置为
true
,立即退出循环。循环完成后,根据标志的值执行所需操作

function chkAddTip(){
    var inputs = document.getElementById('AddTip').getElementsByTagName('input');

    // boolean flag
    var foundValid = false;

    // early exit the loop if at least one valid bet has been found
    for (var i = 0; i < inputs.length && !foundValid; i += 3){
        if (inputs[i].type !== "submit" && (inputs[i].value && inputs[i + 1].value && inputs[i + 2].checked)) {
            // set the flag to true when a valid bet is found
            foundValid = true;
        }
    }

    // determine the return value depending on the flag
    if (foundValid) {
        return true;
    }
    else {
        alert("Bitte deinen Tipp und die Bestättigung abgeben.")
        inputs[0].focus();
        return false;
    }
}
函数chkAddTip(){
var inputs=document.getElementById('AddTip').getElementsByTagName('input');
//布尔标志
var foundValid=false;
//如果至少找到一个有效赌注,则提前退出循环
对于(变量i=0;i
您愿意使用jquery吗?太棒了!如果它解决了你的问题,请考虑接受/接受答案。如果用户使用组(2个输入字段+一个复选框)和多个复选框,你能帮助我吗?然后得到一条错误消息