Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将复选框与输入字段关联,并仅在存在输入值时将其设为必填项_Javascript_Html - Fatal编程技术网

Javascript 将复选框与输入字段关联,并仅在存在输入值时将其设为必填项

Javascript 将复选框与输入字段关联,并仅在存在输入值时将其设为必填项,javascript,html,Javascript,Html,我正在尝试建立一个手动验证系统,希望用户在提交之前检查与单个输入相关的每个复选框,如果存在值,则表单将抛出错误 我已经实现了这一点,但它似乎不起作用。另外,我想知道是否有更好的方法来实现同样的功能,避免将参数传递给函数 类似于我们可以通过提供id来使用form关联表单的提交按钮 <form> <input type="text" name="inputFieldOne"> <input type="checkbox" onblur="makeSur

我正在尝试建立一个手动验证系统,希望用户在提交之前检查与单个输入相关的每个
复选框
,如果存在值,则表单将抛出错误

我已经实现了这一点,但它似乎不起作用。另外,我想知道是否有更好的方法来实现同样的功能,避免将参数传递给函数

类似于我们可以通过提供
id
来使用
form
关联表单的提交按钮

<form>

    <input type="text" name="inputFieldOne">
    <input type="checkbox" onblur="makeSureItIsSelected('inputFieldOne', 'inputCheckboxOne')" name="inputCheckboxOne">

    <input type="text" name="inputFieldTwo">
    <input type="checkbox" onblur="makeSureItIsSelected('inputFieldTwo', 'inputCheckboxTwo')" name="inputCheckboxTwo">

    <input type="submit" value="Submit">

</form>

<script>

    function makeSureItIsSelected(field, checkbox){
        let fieldBox = document.getElementsByName(field)[0];
        if(fieldBox.value != ''){
            checkBox = document.getElementsByName(checkbox)[0];
            checkBox.required = true;
        }
    }

</script>

已选择函数makesureit(字段,复选框){
让fieldBox=document.getElementsByName(字段)[0];
如果(fieldBox.value!=''){
checkBox=document.getElementsByName(复选框)[0];
checkBox.required=true;
}
}

如果要在字段有值时设置复选框为必填项,则应在字段上挂起事件,而不是挂起复选框<代码>输入
将是一个很好的事件:

已选择函数makesureit(字段,复选框){
让fieldBox=document.getElementsByName(字段)[0];
让checkBox=document.getElementsByName(复选框)[0];
//当字段有值时需要复选框
checkBox.required=fieldBox.value!='';
}

如果要在字段有值时设置复选框为必填项,则应在字段上挂起事件,而不是挂起复选框<代码>输入
将是一个很好的事件:

已选择函数makesureit(字段,复选框){
让fieldBox=document.getElementsByName(字段)[0];
让checkBox=document.getElementsByName(复选框)[0];
//当字段有值时需要复选框
checkBox.required=fieldBox.value!='';
}


哦,谢谢,我会编辑它。@T.J.Crowder,我希望用户手动检查它。你为什么要这样做?我正在解析一个
PDF
,并尝试根据解析值的结果填充值。这是为了检查这些值,以完善那些没有检查的值,从而帮助更好地训练它。将修复声明。谢谢。哦,谢谢,我会编辑它。@T.J.Crowder,我希望用户手动检查它。你为什么要这样做?我正在解析一个
PDF
,并尝试根据解析值的结果填充值。这是为了检查这些值,以完善那些没有检查的值,从而帮助更好地训练它。将修复声明。谢谢。谢谢你的片段,这是我要用的。谢谢你的片段,这是我要用的。